setup-java/CONTRIBUTING.md

34 lines
1.6 KiB
Markdown
Raw Normal View History

2019-07-10 14:54:25 +00:00
# Contributors
### Checkin
- Do checkin source (src)
2019-11-25 16:36:48 +00:00
- Do checkin a single index.js file after running `ncc`
- Do not checking node_modules
2019-07-10 14:54:25 +00:00
2019-11-25 16:36:48 +00:00
### NCC
2019-07-10 14:54:25 +00:00
In order to avoid uploading `node_modules` to the repository, we use [zeit/ncc](https://github.com/zeit/ncc) to create multiple `index.js` files that gets saved under `dist/`.
There are two main files that get created
- `dist/setup/index.js`
- Core `setup-java` logic that downloads and installs an appropriate version of Java
- Handling creating a `settings.xml` file to make it easier to publish packages
- `dist/cleanup/index/js`
- Extra cleanup script that is used to remove GPG keys (needed for certain self-hosted runner scenarios)
If you're developing locally, after doing `npm install`, you can use the following commands
```yaml
npm run build # runs tsc along with ncc
npm run format # runs prettier --write
npm run format-check # runs prettier --check
npm run test # runs jest
npm run release # add all the necessary ncc files under dist/* to the git staging area
2019-11-25 16:36:48 +00:00
```
Any files generated using `tsc` will be added to `lib/*`, however those files also are not uploaded to the repository and are excluded using `.gitignore`.
### Testing
Tests are included under `_tests_/*` and can be run using `npm run-script test`.
2019-07-10 14:54:25 +00:00
2019-11-25 16:36:48 +00:00
We ask that you include a link to a successful run that utilizes the changes you are working on. For example, if your changes are in the branch `newAwesomeFeature`, then show an example run that uses `setup-python@newAwesomeFeature` or `my-fork@newAwesomeFeature`. This will help speed up testing and help us confirm that there are no breaking changes or bugs.