mirror of
https://github.com/actions/setup-java.git
synced 2024-11-26 02:10:58 -05:00
Address latest review feedback
This commit is contained in:
parent
998be8d08f
commit
6924f73ee0
6 changed files with 30 additions and 25 deletions
18
README.md
18
README.md
|
@ -72,22 +72,26 @@ jobs:
|
|||
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
||||
username: ${{ github.actor }} # username for server authentication
|
||||
password: ${{ github.token }} # password or token for authentication
|
||||
|
||||
- name: Build with Maven
|
||||
run: mvn -B package --file pom.xml
|
||||
|
||||
- name: Publish to GitHub Packages Apache Maven
|
||||
run: mvn deploy
|
||||
|
||||
- name: Set up Apache Maven Central
|
||||
uses: actions/setup-java@v1
|
||||
with: # running setup-java again overwrites the settings.xml
|
||||
java-version: 1.8
|
||||
server-id: maven
|
||||
username: maven_username
|
||||
password: ${{ secrets.MAVEN_CENTRAL_TOKEN }} # password from secrets store
|
||||
server-username: maven_username
|
||||
server-password: ${{ secrets.MAVEN_CENTRAL_TOKEN }} # password from secrets store
|
||||
|
||||
- name: Publish to Apache Maven Central
|
||||
run: mvn deploy
|
||||
```
|
||||
|
||||
***NOTE: The `settings.xml` file is created in the Actions $HOME directory. If you have an existing `settings.xml` file at that location, it will be overwritten***
|
||||
***NOTE: The `settings.xml` file is created in the Actions $HOME directory. If you have an existing `settings.xml` file at that location, it will be overwritten. See below for using the `settings-path` to change your `settings.xml` file location.***
|
||||
|
||||
See the help docs on [Publishing a Package](https://help.github.com/en/github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages#publishing-a-package) for more information on the `pom.xml` file.
|
||||
|
||||
|
@ -114,7 +118,7 @@ jobs:
|
|||
PASSWORD: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
|
||||
***NOTE: The `USERNAME` and `PASSWORD` need to correspond to the credentials environment variables used in the publishing section of your `build.gradle`..***
|
||||
***NOTE: The `USERNAME` and `PASSWORD` need to correspond to the credentials environment variables used in the publishing section of your `build.gradle`.***
|
||||
|
||||
See the help docs on [Publishing a Package with Gradle](https://help.github.com/en/github/managing-packages-with-github-packages/configuring-gradle-for-use-with-github-packages#example-using-gradle-groovy-for-a-single-package-in-a-repository) for more information on the `build.gradle` configuration file.
|
||||
|
||||
|
@ -135,11 +139,13 @@ jobs:
|
|||
with:
|
||||
java-version: 1.8
|
||||
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
||||
username: ${{ github.actor }} # username for server authentication
|
||||
password: ${{ github.token }} # password or token for authentication
|
||||
server-username: ${{ github.actor }} # username for server authentication
|
||||
server-password: ${{ github.token }} # password or token for authentication
|
||||
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
||||
|
||||
- name: Build with Maven
|
||||
run: mvn -B package --file pom.xml
|
||||
|
||||
- name: Publish to GitHub Packages Apache Maven
|
||||
run: mvn deploy -s $GITHUB_WORKSPACE/settings.xml
|
||||
```
|
||||
|
|
|
@ -23,10 +23,10 @@ inputs:
|
|||
description: 'ID of the distributionManagement repository in the pom.xml
|
||||
file.'
|
||||
required: false
|
||||
username:
|
||||
server-username:
|
||||
description: 'Username for authentication to the Apache Maven repository.'
|
||||
required: false
|
||||
password:
|
||||
server-password:
|
||||
description: 'Password or token for authentication to the Apache Maven
|
||||
repository.'
|
||||
required: false
|
||||
|
|
BIN
dist/index.js
generated
vendored
BIN
dist/index.js
generated
vendored
Binary file not shown.
|
@ -5,10 +5,11 @@
|
|||
"description": "setup java action",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"build": "ncc build src/setup-java.ts",
|
||||
"format": "prettier --write **/*.ts",
|
||||
"format-check": "prettier --check **/*.ts",
|
||||
"release": "ncc build lib/setup-java.js && git add -f dist/index.js",
|
||||
"prerelease": "npm run-script build",
|
||||
"release": "git add -f dist/index.js",
|
||||
"test": "jest"
|
||||
},
|
||||
"repository": {
|
||||
|
|
22
src/auth.ts
22
src/auth.ts
|
@ -57,19 +57,15 @@ export function generate(id: string, username: string, password: string) {
|
|||
}
|
||||
|
||||
async function write(directory: string, settings: string) {
|
||||
const options = {encoding: 'utf-8', flag: 'wx'}; // 'wx': Like 'w' but fails if path exists
|
||||
const location = path.join(directory, SETTINGS_FILE);
|
||||
console.log(`writing ${location}`);
|
||||
try {
|
||||
return fs.writeFileSync(location, settings, options);
|
||||
} catch (e) {
|
||||
if (e.code == 'EEXIST') {
|
||||
console.warn(`overwriting existing file ${location}`);
|
||||
return fs.writeFileSync(location, settings, {
|
||||
encoding: 'utf-8',
|
||||
flag: 'w'
|
||||
});
|
||||
}
|
||||
throw e;
|
||||
if (fs.existsSync(location)) {
|
||||
console.warn(`overwriting existing file ${location}`);
|
||||
} else {
|
||||
console.log(`writing ${location}`);
|
||||
}
|
||||
|
||||
return fs.writeFileSync(location, settings, {
|
||||
encoding: 'utf-8',
|
||||
flag: 'w'
|
||||
});
|
||||
}
|
||||
|
|
|
@ -19,11 +19,13 @@ async function run() {
|
|||
console.log(`##[add-matcher]${path.join(matchersPath, 'java.json')}`);
|
||||
|
||||
const id = core.getInput('server-id', {required: false});
|
||||
const username = core.getInput('username', {required: false});
|
||||
const password = core.getInput('password', {required: false});
|
||||
const username = core.getInput('server-username', {required: false});
|
||||
const password = core.getInput('server-password', {required: false});
|
||||
|
||||
if (id && username && password) {
|
||||
await auth.configAuthentication(id, username, password);
|
||||
} else if (id || username || password) {
|
||||
console.warn('All 3 server-(id, username, and password) are required.');
|
||||
}
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
|
|
Loading…
Reference in a new issue