Skip to content

Commit

Permalink
Merge branch 'release/1.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
nils-a committed May 26, 2021
2 parents 72db065 + ff5a6c8 commit 63871b5
Show file tree
Hide file tree
Showing 156 changed files with 3,352 additions and 250 deletions.
17 changes: 9 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,44 +23,45 @@ jobs:

steps:
- name: Checkout the requested branch
uses: actions/checkout@v2
uses: actions/checkout@v2.3.4

- name: Fetch all tags and branches
run: git fetch --prune --unshallow

# Validates the gradle wrappers and saves us from getting malicious PRs
- name: Gradle Wrapper Validation
uses: gradle/wrapper-validation-action@v1
uses: gradle/wrapper-validation-action@v1.0.3

# Setup Java 1.8 environment which is needed to build
- name: Setup Java
uses: actions/setup-java@v1
uses: actions/setup-java@v2
with:
java-version: 1.8
distribution: 'zulu'
java-version: '8'

# Cache Gradle dependencies
- name: Setup Gradle Dependencies Cache
uses: actions/cache@v2
uses: actions/cache@v2.1.5
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }}

# Cache Gradle Wrapper
- name: Setup Gradle Wrapper Cache
uses: actions/cache@v2
uses: actions/cache@v2.1.5
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}

# Cache Cake tools
- name: Cache Tools
uses: actions/cache@v2
uses: actions/cache@v2.1.5
with:
path: tools
key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }}

- name: Build project
uses: cake-build/cake-action@v1
uses: cake-build/cake-action@v1.3.0
with:
script-path: recipe.cake
target: CI
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependabot-cake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ jobs:
runs-on: ubuntu-latest # linux, because this is a docker-action
steps:
- name: check/update cake dependencies
uses: nils-org/dependabot-cake-action@v1
uses: nils-org/dependabot-cake-action@v1.1.0
11 changes: 9 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@

# NOTE: We normally include *.iml for JetBrains IDEs, but Gradle based projects auto generate
# this on import, so we can happily ignore them. Don't do this for the Rider controlled project!
rider/.idea/**/modules.xml
rider/.idea/**/modules/*.iml
src/rider/.idea/**/modules.xml
src/rider/.idea/**/modules/*.iml

# IntelliJ
build/
Expand All @@ -44,3 +44,10 @@ Desktop.ini
/tools/
/BuildArtifacts/
.history/
/docs/wyam.config.*
/src/rider/src/main/gen/
/src/dotnet/cake-rider/Protocol/
bin/
obj/
/src/projectTemplates/**/.idea
!/src/projectTemplates/**/build
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/cake-rider.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The full documentation of the latest release of Cake for Rider can be found at [

### Documentation changes in the upcoming release

None.
Modified versions of the official documentation can be found [here](./input/docs/integrations/editors/rider).

## Discussion

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions docs/input/docs/integrations/editors/rider/index.cshtml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Order: 20
Title: Rider
Description: Extensions and supported features for JetBrains Rider
RedirectFrom: docs/editors/rider
---

<p>
The <a href="https://plugins.jetbrains.com/plugin/15729-cake-rider" target="_blank">Cake plugin for Rider </a>
brings the following features to JetBrains Rider:
<ul>
<li><a href="/docs/integrations/editors/rider/run-configurations">Run configurations</a></li>
<li><a href="/docs/integrations/editors/rider/tools">Tools</a></li>
<li><a href="/docs/integrations/editors/rider/templates">Project Templates, File Templates and Live Templates</a></li>
<li>Support for structure view and scratch files</li>
<li>Double-click to build a task, directly in-file via Code Vision</li>
</ul>
</p>

<h1>Installation & configuration</h1>

<p>
See <a href="https://plugins.jetbrains.com/plugin/15729-cake-rider" target="_blank">Cake plugin for Rider</a> for instructions how to install and configure the plugin.
</p>

<div class="alert alert-info">
<p>
The <a href="https://plugins.jetbrains.com/plugin/15729-cake-rider" target="_blank">Cake plugin for Rider</a> supports Rider version 2020.1 and newer.
</p>
</div>

<h1>Child pages</h1>

@Html.Partial("_ChildPages")
38 changes: 38 additions & 0 deletions docs/input/docs/integrations/editors/rider/intellisense.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Order: 20
Title: IntelliSense in Rider
Description: Support for IntelliSense
---

# Enabling IntelliSense

To enable IntelliSense support in Rider follow these steps:

<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#tool2">Cake .NET Tool</a></li>
<li><a data-toggle="tab" href="#frosting2">Cake Frosting</a></li>
<li><a data-toggle="tab" href="#netfx2">Cake runner for .NET Framework</a></li>
<li><a data-toggle="tab" href="#core2">Cake runner for .NET Core</a></li>
</ul>

<div class="tab-content">
<div id="tool2" class="tab-pane fade in active">
<p>
There is currently no support for Intellisense in <code>.cake</code> script files within Rider.
</p>
</div>
<div id="frosting2" class="tab-pane fade">
<p>
<a href="/docs/running-builds/runners/cake-frosting">Cake Frosting</a> projects have all features of a .NET Console application, including IntelliSense.
</p>
</div>
<div id="netfx2" class="tab-pane fade">
<p>
There is currently no support for Intellisense in <code>.cake</code> script files within Rider.
</p>
</div>
<div id="core2" class="tab-pane fade">
<p>
There is currently no support for Intellisense in <code>.cake</code> script files within Rider.
</p>
</div>
</div>
10 changes: 10 additions & 0 deletions docs/input/docs/integrations/editors/rider/resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Order: 40
Title: Rider resources
Description: Resources about JetBrains Rider support
---

There is a playlist of videos showing off the new features in each release of the [Cake plugin for Rider] here:

<iframe width="560" height="315" src="https://www.youtube.com/embed/videoseries?list=PL84yg23i9GBixvjta7rPypA3oFdMK25gH" frameborder="0" gesture="media" allowfullscreen></iframe>

[Cake plugin for Rider]: https://plugins.jetbrains.com/plugin/15729-cake-rider
166 changes: 166 additions & 0 deletions docs/input/docs/integrations/editors/rider/run-configurations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
Order: 30
Title: Rider run configurations
Description: Run configurations for Cake tasks
---

It is possible to have Cake tasks as run configurations:

![Run configurations](/assets/img/cake-rider/docs/runConfigurations.png){.img-responsive}

Currently only run configurations are supported. Debug configurations are not supported.

# Configuring run configurations

In order to use the run configurations you must have Cake installed on your machine or in your solution.

## Install Cake

<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#tool">Cake .NET Tool</a></li>
<li><a data-toggle="tab" href="#frosting">Cake Frosting</a></li>
<li><a data-toggle="tab" href="#netfx">Cake runner for .NET Framework</a></li>
<li><a data-toggle="tab" href="#core">Cake runner for .NET Core</a></li>
</ul>

<div class="tab-content">
<div id="tool" class="tab-pane fade in active">
<p>
To use Cake .NET Tool it needs to be installed globally:
</p>
<pre><code class="language-cmd hljs">dotnet tool install --global Cake.Tool</code></pre>
<p>
This is the default setup in Cake for Rider.
</p>
</div>
<div id="frosting" class="tab-pane fade">
<p>
There is currently no support for run configurations for Cake Frosting.
</p>
</div>
<div id="netfx" class="tab-pane fade">
<p>
Install Cake using any of the following options:
</p>
<ul>
<li>
<p>
On Windows using <a href="https://chocolatey.org/">Chocolatey to install it globally</a>:
</p>
<pre><code class="language-cmd hljs">choco install cake.portable</code></pre>
</li>
<li>
<p>
Use a <a href="/docs/running-builds/runners/cake-runner-for-dotnet-framework#bootstrapping-for-cake-runner-for.net-framework">bootstrapper</a>.
</p>
<p>
This requires to setup the bootstrapper(s) under <a href="#runner-settings">settings</a>
</p>
</li>
</ul>
</div>
<div id="core" class="tab-pane fade">
<p>
There is currently no support for task runner for Cake runner for .NET Core.
</p>
</div>
</div>

## Supported runners

| Runner | Supported | Remarks |
|----------------------------------|-------------------------------------------------|----------------------------------------------------|
| [Cake .NET Tool] | <i class="fa fa-check" style="color:green"></i> | |
| [Cake Frosting] | <i class="fa fa-times" style="color:red"></i> | |
| [Cake runner for .NET Framework] | <i class="fa fa-check" style="color:green"></i> | |
| [Cake runner for .NET Core] | <i class="fa fa-times" style="color:red"></i> | |

[Cake .NET Tool]: dotnet-tool
[Cake Frosting]: cake-frosting
[Cake runner for .NET Framework]: cake-runner-for-dotnet-framework
[Cake runner for .NET Core]: cake-runner-for-dotnet-core

## Settings

There are multiple configuration settings available under **File | Settings | Build, Execution, Deployment | Cake**.

All settings are project - specific and stored in the `.idea` folder. To share settings across developers, make sure to put `CakeRider.xml` under source control.

### Generic settings

* *Cake file extension*
This setting is used to find all Cake files and display them in the Cake Tasks window.
Default: `cake`
* *Task Regex*
This regular expression is used to parse tasks from the Cake files.
Default: `Task\s*?\(\s*?"(.*?)"\s*?\)`
* *Verbosity*
This is the default verbosity to use, when running a task directly from the Cake Tasks window or when creating a new run configuration.
Default: `normal`

### Search paths

Allows to modify search paths that are used to find all Cake files that are displayed
in the [Cake Tasks window](#running-builds-directly).

* *Search paths*
One or multiple starting points to search for Cake files.
The paths are relative to the project root and should use `/` as separator between directories.
Default: `.` (root of the project directory.)
* *Exclude expressions*
Regular expressions to exclude search paths.
Each path that is found during the search is matched against all configured expressions.
Matches will be excluded.
Default: `.*/tools/.*`

### Runner settings

Allows to define the runner to use.
Different runners for different operating systems can be set by defining a regular expression which is matched against the system property `os.name`.

The Cake runner settings are able to process environment variables: Use a specific variable like `${VARIABLE}` and the environment variable will be expanded when the runner is called.

Default value is `~/.dotnet/tools/dotnet-cake` and `${USERPROFILE}\.dotnet\tools\dotnet-cake.exe` for Windows.

# Using run configurations

## Creating run configurations

The configurations can either be created from an existing Cake task,
using the [Cake Tasks window](#running-builds-directly) or created manually using the run [configuration editor](#editing-run-configurations).

## Editing run configurations

An editor for run configurations is available:

![Run configuration editor](/assets/img/cake-rider/docs/runConfiguration-editor.png){.img-responsive}

### Settings in the run configuration

* *Script path*:
Path to the Cake file. (This is passed as first argument to the runner.)
* *Task*:
Name of the task to run (This is passed to the runner using `--task=<Task>`.)
* *Verbosity*:
Verbosity of the Cake output. (This is passed to the runner using `--verbosity=<Verbosity>`.)
* *Arguments*:
Arbitrary additional arguments to the runner.

### Before launch activity

* *Ensure .NET Tool (Global)*:
Ensures the Cake .NET tool is installed globally before running Cake.

![Run Actions](/assets/img/cake-rider/docs/beforeRunAction-ensureTool.png){.img-responsive}

## Running builds directly

The Cake Tasks window lists all Cake scripts and their tasks:

![Cake Tasks window](/assets/img/cake-rider/docs/toolWindow.png){.img-responsive}

Using a double click on a task will run that task immediately:

![Cake task run](/assets/img/cake-rider/docs/cake-run.png){.img-responsive}

Alternatively, the buttons at the top of the Cake Tasks window can be used to either run the task immediately,
or create a new [run configuration](#creating-run-configurations).
Loading

0 comments on commit 63871b5

Please sign in to comment.