Skip to content
This repository has been archived by the owner on Sep 26, 2020. It is now read-only.

Forge 3.0 Infrastructure #120

Merged
merged 10 commits into from
Mar 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -197,4 +197,5 @@ docs/content/license.md
docs/content/release-notes.md
.fake
.vscode
.ionide
.ionide
out/
10 changes: 9 additions & 1 deletion .paket/Paket.Restore.targets
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@
<!-- see https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1032-fsharp-in-dotnet-sdk.md -->
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<DisableImplicitSystemValueTupleReference>true</DisableImplicitSystemValueTupleReference>

<!-- Disable Paket restore under NCrunch build -->
<PaketRestoreDisabled Condition="'$(NCrunch)' == '1'">True</PaketRestoreDisabled>
</PropertyGroup>

<Target Name="PaketBootstrapping" Condition="Exists('$(PaketToolsPath)paket.bootstrapper.proj')">
Expand Down Expand Up @@ -102,7 +105,11 @@
<PaketRestoreRequired Condition=" '$(PaketRestoreLockFileHash)' == '' ">true</PaketRestoreRequired>
</PropertyGroup>

<PropertyGroup Condition="'$(PaketPropsVersion)' != '5.174.2' ">
<!--
This value should match the version in the props generated by paket
If they differ, this means we need to do a restore in order to ensure correct dependencies
-->
<PropertyGroup Condition="'$(PaketPropsVersion)' != '5.185.3' ">
<PaketRestoreRequired>true</PaketRestoreRequired>
</PropertyGroup>

Expand Down Expand Up @@ -183,6 +190,7 @@
<ExcludeAssets Condition=" '%(PaketReferencesFileLinesInfo.Splits)' == '6' And %(PaketReferencesFileLinesInfo.CopyLocal) == 'false'">runtime</ExcludeAssets>
<ExcludeAssets Condition=" '%(PaketReferencesFileLinesInfo.Splits)' != '6' And %(PaketReferencesFileLinesInfo.AllPrivateAssets) == 'exclude'">runtime</ExcludeAssets>
<Publish Condition=" '$(PackAsTool)' == 'true' ">true</Publish>
<AllowExplicitVersion>true</AllowExplicitVersion>
</PackageReference>
</ItemGroup>

Expand Down
6 changes: 0 additions & 6 deletions .travis.yml

This file was deleted.

88 changes: 85 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,88 @@
# How to contribute

The templates used by Forge are in their own repository - https://github.com/fsharp-editing/forge-templates
Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved!

PRs with modifications or additional templates are gladly accepted.
## Using the issue tracker

To get a better idea of the future of Forge, check out the **[Forge Roadmap](https://github.com/fsharp-editing/Forge/wiki/Forge-Roadmap)**
Use the issues tracker for:

* [bug reports](#bug-reports)
* [feature requests](#feature-requests)
* [submitting pull requests](#pull-requests)

Personal support request should be discussed on [F# Software Foundation Slack](https://fsharp.org/guides/slack/).

## Bug reports

A bug is either a _demonstrable problem_ that is caused in Forge failing to provide the expected feature or indicate missing, unclear, or misleading documentation. Good bug reports are extremely helpful - thank you!
ą
Guidelines for bug reports:

1. **Use the GitHub issue search** &mdash; check if the issue has already been reported.

2. **Check if the issue has been fixed** &mdash; try to reproduce it using the `master` branch in the repository.

3. **Isolate and report the problem** &mdash; ideally create a reduced test case.

Please try to be as detailed as possible in your report. Include information about
your Operating System, as well as your `dotnet`. Please provide steps to
reproduce the issue as well as the outcome you were expecting! All these details
will help developers to fix any potential bugs.


## Feature requests

Feature requests are welcome and should be discussed on issue tracker. But take a moment to find
out whether your idea fits with the scope and aims of the project. It's up to *you*
to make a strong case to convince the community of the merits of this feature.
Please provide as much detail and context as possible.

## Pull requests

Good pull requests - patches, improvements, new features - are a fantastic
help. They should remain focused in scope and avoid containing unrelated
commits.

**IMPORTANT**: By submitting a patch, you agree that your work will be
licensed under the license used by the project.

If you have any large pull request in mind (e.g. implementing features,
refactoring code, etc), **please ask first** otherwise you risk spending
a lot of time working on something that the project's developers might
not want to merge into the project.

Please adhere to the coding conventions in the project (indentation,
accurate comments, etc.).

## How to build and test a local version of Forge

### Prerequisites

- [.NET Core 2.0][dotnet]

### Building

Fork, from the github interface https://github.com/ionide/forge
- if you don't use a certificate for committing to github:
```bash
git clone https://github.com/YOUR_GITHUB_USER/forge.git
```
- if you use a certificate for github authentication:
```bash
git clone git@github.com:YOUR_GITHUB_USER/forge.git
```

#### First time build:
```bash
cd ionide-forge-fsharp
dotnet restore
fake build # or build.cmd if your OS is Windows (might need ./build Build here)
```

If `dotnet restore` gives the error `error MSB4126: The specified solution configuration "Debug|x64" is invalid`, there's a good chance you have the `Platform` environment variable set to "x64". Unset the variable and try the restore command again.

#### Running built version:
```bash
cd temp
./forge.sh
```
24 changes: 22 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Clone the repo and build the app:
```bash
git clone https://github.com/fsharp-editing/Forge
cd Forge
./build.sh
fake build
```

Choose a location for the executable:
Expand Down Expand Up @@ -78,6 +78,22 @@ Create a symlink that points to the script, which runs executable.
ln -s `pwd`/temp/forge.sh $INSTALL_DIR/forge
```

## How to contribute

*Imposter syndrome disclaimer*: I want your help. No really, I do.

There might be a little voice inside that tells you you're not ready; that you need to do one more tutorial, or learn another framework, or write a few more blog posts before you can help me with this project.

I assure you, that's not the case.

This project has some clear Contribution Guidelines and expectations that you can [read here](https://github.com/ionide/forge/blob/master/CONTRIBUTING.md).

The contribution guidelines outline the process that you'll need to follow to get a patch merged. By making expectations and process explicit, I hope it will make it easier for you to contribute.

And you don't just have to write code. You can help out by writing documentation, tests, or even by giving feedback about this work. (And yes, that includes giving feedback about the contribution guidelines.)

Thank you for contributing!

## Contributing and copyright

The project is hosted on [GitHub](https://github.com/fsharp-editing/Forge) where you can [report issues](https://github.com/fsharp-editing/Forge/issues), fork
Expand All @@ -89,6 +105,10 @@ Please note that this project is released with a [Contributor Code of Conduct](C

## Maintainer(s)

- [@ReidNEvans](https://twitter.com/reidNEvans)
- [Krzysztof-Cieslak](https://github.com/Krzysztof-Cieslak)


#### Past Maintainer(s)

- [cloudRoutine](https://github.com/cloudRoutine/)
- [@ReidNEvans](https://twitter.com/reidNEvans)
4 changes: 4 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### 3.0.0-alpha001 - 2019-03-20
* Port project to .Net Standard 2.0 and to .Net Core 2.1
* Use `dotnet` global tool

### 2.2.0 - 2018-01-11
* Add FAKE into build group instead Main group
* Add list projects by folder command
Expand Down
9 changes: 0 additions & 9 deletions appveyor.yml

This file was deleted.

26 changes: 26 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: $(Rev:r)
jobs:
- job: Windows
pool:
vmImage: 'vs2017-win2016'
steps:
- script: dotnet tool install fake-cli --tool-path .
displayName: Install FAKE
- script: fake build
displayName: Run Build
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: out
artifactName: Forge
- job: Linux
pool:
vmImage: 'ubuntu-16.04'
steps:
- script: dotnet tool install fake-cli --tool-path .
displayName: Install FAKE
- script: ./fake build
displayName: Run Build
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: out
artifactName: Forge
13 changes: 0 additions & 13 deletions build.cmd

This file was deleted.

Loading