From 6456242fc2e0e0631f01f24a51965dfffb23a665 Mon Sep 17 00:00:00 2001 From: Ryan Stuart Date: Fri, 28 Jun 2019 15:30:28 +0100 Subject: [PATCH] Add FINOS project blueprint files --- .github/CONTRIBUTING.md | 75 +++++------------------ .github/ISSUE_TEMPLATE/Bug_report.md | 3 +- .github/ISSUE_TEMPLATE/Feature_request.md | 14 +---- LICENSE | 30 +++++++-- LICENSE.spdx | 4 +- NOTICE | 6 +- 6 files changed, 51 insertions(+), 81 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 5e4664c01..263a293a2 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,10 +1,14 @@ # Contributing to DataHelix -:+1: First off, thanks for taking the time to contribute! :+1: # Contributor License Agreement (CLA) -A CLA is a document that specifies how a project is allowed to use your contribution; they are commonly used in many open source projects. +A CLA is a document that specifies how a project is allowed to use your +contribution; they are commonly used in many open source projects. -**_All_ contributions to _all_ projects hosted by [FINOS](https://www.finos.org/) must be made with a [Foundation CLA](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/83034172/Contribute) in place, and there are [additional legal requirements](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/75530375/Legal+Requirements) that must also be met.** +**_All_ contributions to _all_ projects hosted by [FINOS](https://www.finos.org/) +must be made with a +[Foundation CLA](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/83034172/Contribute) +in place, and there are [additional legal requirements](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/75530375/Legal+Requirements) +that must also be met.** As a result, PRs submitted to the DataHelix project cannot be accepted until you have a CLA in place with the Foundation. @@ -12,79 +16,34 @@ As a result, PRs submitted to the DataHelix project cannot be accepted until you ## Prerequisites -* [ ] Have you [searched for duplicates](https://github.com/scottlogic/datahelix/issues?utf8=%E2%9C%93&q=)? A simple search for exception error messages or a summary of the unexpected behaviour should suffice. +* [ ] Have you [searched for duplicates](https://github.com/ScottLogic/DataHelix/issues?utf8=%E2%9C%93&q=)? A simple search for exception error messages or a summary of the unexpected behaviour should suffice. * [ ] Are you running the latest version? * [ ] Are you sure this is a bug or missing capability? ## Raising an Issue -* Create your issue [here](https://github.com/scottlogic/datahelix/issues/new). +* Create your issue [here](https://github.com/ScottLogic/DataHelix/issues/new). * New issues contain two templates in the description: bug report and enhancement request. Please pick the most appropriate for your issue, **then delete the other**. * Please also tag the new issue with either "Bug" or "Enhancement". -* Please use [Markdown formatting](https://help.github.com/categories/writing-on-github/) liberally to assist in readability. +* Please use [Markdown formatting](https://help.github.com/categories/writing-on-github/) +liberally to assist in readability. * [Code fences](https://help.github.com/articles/creating-and-highlighting-code-blocks/) for exception stack traces and log entries, for example, massively improve readability. -## Coding Style - -Regarding coding style we favor a minimalistic and pragmatic approach. We add additional rules as they are needed rather than specifying up front. - -### Java Coding Style - -We adopt a modified subset of the [Google Java Coding Style](https://google.github.io/styleguide/javaguide.html): - -* [2.2](https://google.github.io/styleguide/javaguide.html#s2.2-file-encoding) Files are encoded in UTF-8 -* [2.3.1](https://google.github.io/styleguide/javaguide.html#s2.3.1-whitespace-characters) Use ASCII hard space (0x20) not tab for indentation -* [4.1.1](https://google.github.io/styleguide/javaguide.html#s4.1.1-braces-always-used) Braces are used where optional (an exception is made for auto-generated code such as equals methods) -* [4.1.2](https://google.github.io/styleguide/javaguide.html#s4.1.2-blocks-k-r-style) Nonempty blocks: K & R style -* [4.1.3](https://google.github.io/styleguide/javaguide.html#s4.1.3-braces-empty-blocks) Empty blocks: may be concise -* _**Contrary** to [4.2](https://google.github.io/styleguide/javaguide.html#s4.2-block-indentation)_: Block indentation: **4 spaces** -* [4.3](https://google.github.io/styleguide/javaguide.html#s4.3-one-statement-per-line) One statement per line -* [4.4](https://google.github.io/styleguide/javaguide.html#s4.4-column-limit) Column limit: 100 -* [4.5.1](https://google.github.io/styleguide/javaguide.html#s4.5.1-line-wrapping-where-to-break) Where to break (but _**not**_ [4.5.2](https://google.github.io/styleguide/javaguide.html#s4.5.2-line-wrapping-indent)) -* The `this.` qualifier should not be included, except where required. - -__Exception:__ -* Package names referring to a version number only take the form `v` + `majorVerion` + `_` + `minorVersion` e.g. package `v0_1` refers to version `0.1` - - -### Scala Coding Style - -We adopt only one rule from the [Scala Style Guide](https://docs.scala-lang.org/style/). We also add two more rules to make our Java and Scala styles consistent. - -* Files are encoded in UTF-8 (Note 1) -* Each level of indentation is 2 spaces. Tabs are not used -* Column limit: 100 (Note 1) - -Note 1: This rule was not mentioned in the Scala style guide, but we add it anyway to make our styles for Java and Scala consistent. - - -### Markdown Style - -* Use single spaces after sentence terminators, rather than double-spacing - - # Contributing Pull Requests (Code & Docs) To make review of PRs easier, please: * Please make sure your PRs will merge cleanly - PRs that don't are unlikely to be accepted. * For code contributions, follow the existing code layout. - * For documentation contributions, follow the general structure, language, and tone of the [existing docs](https://github.com/scottlogic/datahelix/wiki). + * For documentation contributions, follow the general structure, language, and tone of the [existing docs](https://github.com/ScottLogic/DataHelix/wiki). * Keep commits small and cohesive - if you have multiple contributions, please submit them as independent commits (and ideally as independent PRs too). * Reference issue #s if your PR has anything to do with an issue (even if it doesn't address it). - * Minimise non-functional changes (e.g. whitespace shenanigans). + * Minimise non-functional changes (e.g. whitespace). * Ensure all new files include a header comment block containing the [Apache License v2.0 and your copyright information](http://www.apache.org/licenses/LICENSE-2.0#apply). - * If necessary (e.g. due to 3rd party dependency licensing requirements), update the [NOTICE file](../NOTICE) with any new attribution or other notices -* See [Coding Guidelines](https://github.com/ScottLogic/datahelix/wiki/Coding-Guidelines) for additional information. + * If necessary (e.g. due to 3rd party dependency licensing requirements), update the [NOTICE file](https://github.com/ScottLogic/DataHelix/blob/master/NOTICE) with any new attribution or other notices ## Commit and PR Messages * **Reference issues, wiki pages, and pull requests liberally!** -* We adopt a subset of [Chris Beams's style guide](https://chris.beams.io/posts/git-commit/): - -1. Separate subject from body with a blank line -2. Limit the subject line to 50 characters -3. Capitalize the subject line -4. Do not end the subject line with a period -5. Use the imperative mood in the subject line -6. (Not followed) ~~Wrap the body at 72 characters~~ -7. Use the body to explain _what_ and _why_ vs. _how_ +* Use the present tense ("Add feature" not "Added feature") +* Use the imperative mood ("Move button left..." not "Moves button left...") +* Limit the first line to 72 characters or less diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md index 5143273a5..325982295 100644 --- a/.github/ISSUE_TEMPLATE/Bug_report.md +++ b/.github/ISSUE_TEMPLATE/Bug_report.md @@ -1,8 +1,7 @@ --- name: 🐛 Bug Report about: If something isn't working as expected 🤔. -labels: bug -projects: scottlogic/15 + --- ## Bug Report diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md index 2cef04501..b01f152f0 100644 --- a/.github/ISSUE_TEMPLATE/Feature_request.md +++ b/.github/ISSUE_TEMPLATE/Feature_request.md @@ -6,24 +6,12 @@ about: I have a suggestion (and may want to implement it 🙂)! ## Feature Request -### User story -... describe the problem and why it should be worked on in one concise statement. -... e.g. As a xxx I want to yyy so that zzz or - As a xxx I want to yyy because zzz - ### Description of Problem: ...what *problem* are you trying to solve that the project doesn't currently solve? -...please resist the temptation to describe your request in terms of a solution. +...please resist the temptation to describe your request in terms of a solution. Job Story form ("When [triggering condition], I want to [motivation/goal], so I can [outcome].") can help ensure you're expressing a problem statement. ### Potential Solutions: ...clearly and concisely describe what you want to happen. Add any considered drawbacks. ... if you've considered alternatives, clearly and concisely describe those too. - -### Acceptance Criteria: -...describe the things that should be checked or changed to confirm the task is complete - -...think about behaviour rather than implementation - -...think about tests and the quality of the product diff --git a/LICENSE b/LICENSE index c3145b6d0..5960dea7d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,3 @@ - - Copyright 2018 Scott Logic Ltd - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -176,4 +173,29 @@ incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS \ No newline at end of file + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Scott Logic Ltd + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/LICENSE.spdx b/LICENSE.spdx index f26d599e7..c84e9ccdb 100644 --- a/LICENSE.spdx +++ b/LICENSE.spdx @@ -1,7 +1,7 @@ SPDXVersion: SPDX-2.0 DataLicense: CC0-1.0 Creator: Scott Logic Ltd -PackageName: data-generator +PackageName: DataHelix PackageOriginator: Scott Logic Ltd -PackageHomePage: https://github.com/finos/data-generator +PackageHomePage: https://github.com/ScottLogic/DataHelix PackageLicenseDeclared: Apache-2.0 diff --git a/NOTICE b/NOTICE index 40df93857..ecfa06314 100644 --- a/NOTICE +++ b/NOTICE @@ -1,4 +1,6 @@ DataHelix - FINOS -Copyright 2018 Scott Logic Ltd +Copyright 2018 - 2019 Scott Logic Ltd -This product includes software developed at the Fintech Open Source Foundation (https://www.finos.org/). \ No newline at end of file +This product includes software developed at the Fintech Open Source Foundation (https://www.finos.org/). + +{Other notices, as necessary}