Skip to content
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
8 changes: 4 additions & 4 deletions .github/workflows/hr-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,8 @@ jobs:
- name: Set Up Java
uses: actions/setup-java@v4
with:
# Tycho is built with Java 21 (class file version 65)
java-version: "21"
distribution: "temurin"
java-version: "17"
distribution: "adopt"
- name: Build JDT-LS
if: "${{ inputs.JDT_LS_VERSION == '' }}"
run: |
Expand Down Expand Up @@ -132,7 +131,8 @@ jobs:
echo "publishPreReleaseFlag=--pre-release" >> $GITHUB_ENV
- name: Package vscode-java
run: |
platforms=("win32-x64" "linux-x64" "linux-arm64" "darwin-x64" "darwin-arm64")
# platforms=("win32-x64" "linux-x64" "linux-arm64" "darwin-x64" "darwin-arm64")
platforms=("linux-x64")
for platform in ${platforms[@]}; do
npx gulp download_jre --target ${platform} --javaVersion 17
vsce package ${{ env.publishPreReleaseFlag }} --target ${platform} -o java-${platform}-${{ env.EXT_VERSION }}-${GITHUB_RUN_NUMBER}.vsix
Expand Down
67 changes: 42 additions & 25 deletions src/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -294,31 +294,48 @@ export function setGradleWrapperChecksum(wrapper: string, sha256?: string) {
return;
}
gradleWrapperPromptDialogs.push(sha256);
const allow = 'Trust';
const disallow = 'Do not trust';
window.showErrorMessage(`"Security Warning! The gradle wrapper '${wrapper}'" [sha256 '${sha256}'] [could be malicious](https://github.com/redhat-developer/vscode-java/wiki/Gradle-Support#suspicious.wrapper). Should it be trusted?";`, disallow, allow)
.then(async selection => {
let allowed;
if (selection === allow) {
allowed = true;
} else if (selection === disallow) {
allowed = false;
} else {
unregisterGradleWrapperPromptDialog(sha256);
return false;
}
const key = "java.imports.gradle.wrapper.checksums";
let property: any = workspace.getConfiguration().inspect<string>(key).globalValue;
if (!Array.isArray(property)) {
property = [];
}
const entry = property.filter(p => (p.sha256 === sha256));
if (entry === null || entry.length === 0) {
property.push({ sha256: sha256, allowed: allowed });
workspace.getConfiguration().update(key, property, ConfigurationTarget.Global);
}
unregisterGradleWrapperPromptDialog(sha256);
});
/*
* HackerRank_Specific:
* Commented out the original Gradle wrapper trust prompt dialog.
* Instead of showing a security warning pop-up and asking the user to trust/distrust,
* we silently auto-trust the wrapper by directly writing allowed: true to the configuration.
*/
// const allow = 'Trust';
// const disallow = 'Do not trust';
// window.showErrorMessage(`"Security Warning! The gradle wrapper '${wrapper}'" [sha256 '${sha256}'] [could be malicious](https://github.com/redhat-developer/vscode-java/wiki/Gradle-Support#suspicious.wrapper). Should it be trusted?";`, disallow, allow)
// .then(async selection => {
// let allowed;
// if (selection === allow) {
// allowed = true;
// } else if (selection === disallow) {
// allowed = false;
// } else {
// unregisterGradleWrapperPromptDialog(sha256);
// return false;
// }
// const key = "java.imports.gradle.wrapper.checksums";
// let property: any = workspace.getConfiguration().inspect<string>(key).globalValue;
// if (!Array.isArray(property)) {
// property = [];
// }
// const entry = property.filter(p => (p.sha256 === sha256));
// if (entry === null || entry.length === 0) {
// property.push({ sha256: sha256, allowed: allowed });
// workspace.getConfiguration().update(key, property, ConfigurationTarget.Global);
// }
// unregisterGradleWrapperPromptDialog(sha256);
// });
const key = "java.imports.gradle.wrapper.checksums";
let property: any = workspace.getConfiguration().inspect<string>(key).globalValue;
if (!Array.isArray(property)) {
property = [];
}
const entry = property.filter(p => (p.sha256 === sha256));
if (entry === null || entry.length === 0) {
property.push({ sha256: sha256, allowed: true });
workspace.getConfiguration().update(key, property, ConfigurationTarget.Global);
}
unregisterGradleWrapperPromptDialog(sha256);
}

function unregisterGradleWrapperPromptDialog(sha256: string) {
Expand Down