Skip to content

Commit

Permalink
Merge branch '6.0-jdk11'
Browse files Browse the repository at this point in the history
# Conflicts:
#	.github/ISSUE_TEMPLATE/bug_report.md
#	.github/workflows/build.yml
#	README.md
#	build.gradle.kts
#	examples/multi-projects-applications-shared-distributions/settings.gradle
#	examples/multi-projects-war-application/backend/build.gradle
#	examples/multi-projects-war-application/settings.gradle
#	examples/single-project-application-preinstalled-distributions/settings.gradle
#	examples/single-project-application/settings.gradle
#	gradle.properties
#	gradle/wrapper/gradle-wrapper.properties
#	settings.gradle.kts
#	site/build.gradle.kts
#	site/package.json
#	site/src/pages/getting-started.vue
#	site/src/pages/index.vue
#	site/src/static/sitemap.xml
#	site/yarn.lock
#	src/intTest/java/org/siouan/frontendgradleplugin/infrastructure/gradle/AuthenticationAndProxyFuncTest.java
#	src/intTest/java/org/siouan/frontendgradleplugin/infrastructure/gradle/TaskTypesWithDistributionsInPathFuncTest.java
#	src/intTest/java/org/siouan/frontendgradleplugin/infrastructure/gradle/TaskTypesWithDownloadedDistributionsFuncTest.java
#	src/intTest/java/org/siouan/frontendgradleplugin/infrastructure/gradle/TaskTypesWithGlobalDistributionsFuncTest.java
#	src/intTest/java/org/siouan/frontendgradleplugin/infrastructure/gradle/TaskTypesWithProvidedDistributionsFuncTest.java
#	src/intTest/resources/SHASUMS256.txt
#	src/main/java/org/siouan/frontendgradleplugin/FrontendGradlePlugin.java
#	src/main/java/org/siouan/frontendgradleplugin/domain/model/SystemSettingsProvider.java
#	src/main/java/org/siouan/frontendgradleplugin/domain/usecase/GetDistributionUrlResolver.java
#	src/main/java/org/siouan/frontendgradleplugin/domain/usecase/ResolveExecutablePath.java
#	src/main/java/org/siouan/frontendgradleplugin/domain/usecase/ResolveExecutionSettings.java
#	src/main/java/org/siouan/frontendgradleplugin/domain/usecase/ResolveNodeDistributionUrl.java
#	src/main/java/org/siouan/frontendgradleplugin/infrastructure/gradle/AbstractDistributionInstallTask.java
#	src/main/java/org/siouan/frontendgradleplugin/infrastructure/gradle/AbstractRunCommandTask.java
#	src/main/java/org/siouan/frontendgradleplugin/infrastructure/gradle/FrontendExtension.java
#	src/main/java/org/siouan/frontendgradleplugin/infrastructure/gradle/RunNpmYarn.java
#	src/main/java/org/siouan/frontendgradleplugin/infrastructure/gradle/RunNpx.java
#	src/main/java/org/siouan/frontendgradleplugin/infrastructure/gradle/SystemExtension.java
#	src/main/java/org/siouan/frontendgradleplugin/infrastructure/gradle/SystemSettingsProviderImpl.java
#	src/main/java/org/siouan/frontendgradleplugin/infrastructure/gradle/YarnInstallTask.java
#	src/main/java/org/siouan/frontendgradleplugin/infrastructure/gradle/adapter/ScriptProperties.java
#	src/test/java/org/siouan/frontendgradleplugin/FrontendGradlePluginTest.java
#	src/test/java/org/siouan/frontendgradleplugin/domain/model/PlatformTest.java
#	src/test/java/org/siouan/frontendgradleplugin/domain/usecase/AbstractArchiverTest.java
#	src/test/java/org/siouan/frontendgradleplugin/domain/usecase/GetDistributionUrlResolverTest.java
#	src/test/java/org/siouan/frontendgradleplugin/domain/usecase/ResolveExecutablePathTest.java
#	src/test/java/org/siouan/frontendgradleplugin/domain/usecase/ResolveExecutionSettingsTest.java
#	src/test/java/org/siouan/frontendgradleplugin/domain/usecase/ResolveNodeDistributionUrlTest.java
#	src/test/java/org/siouan/frontendgradleplugin/domain/usecase/ResolveYarnDistributionUrlTest.java
#	src/test/java/org/siouan/frontendgradleplugin/domain/util/SystemUtilsTest.java
#	src/test/java/org/siouan/frontendgradleplugin/infrastructure/gradle/SystemSettingsProviderImplTest.java
#	src/test/java/org/siouan/frontendgradleplugin/infrastructure/gradle/adapter/GradleScriptRunnerAdapterTest.java
  • Loading branch information
v1nc3n4 committed Nov 7, 2021
2 parents 1411b67 + 8832269 commit 8627c87
Show file tree
Hide file tree
Showing 310 changed files with 5,341 additions and 5,270 deletions.
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ Hi,

**Description**

- What I am trying to do?
- What's wrong?
- Do I have a workaround to share?
What I am trying to do: ...
Expected results: ...
Actual results: ...

**Environment**

- OS: [e.g. Ubuntu 18.04.1, Windows 10 Pro, Mac OS X]
- JDK: [e.g. Oracle JDK 11 64 bits]
- Gradle: [e.g. Gradle 6.8]
- Frontend Gradle plugin: [e.g. 5.3.0 JDK 11]
- Frontend Gradle plugin: [e.g. 6.0.0 JDK 11]

Settings in `build.gradle[.kts]` file:
```groovy
Expand Down
43 changes: 25 additions & 18 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle

name: Build

on:
Expand All @@ -21,15 +18,17 @@ jobs:
steps:
- name: Init Ubuntu environment
if: matrix.os == 'ubuntu-20.04'
run: sudo rm -f /usr/local/bin/node /usr/local/bin/npm /usr/local/bin/npx /usr/local/bin/yarn /usr/bin/yarn
run: sudo rm -f /usr/local/bin/node /usr/local/bin/npm /usr/local/bin/npx /usr/local/bin/yarn

- name: Init MacOS environment
if: matrix.os == 'macos-10.15'
run: sudo rm -f /usr/local/bin/node /usr/local/bin/npm /usr/local/bin/npx /usr/local/bin//yarn /usr/bin/yarn /Users/runner/.yarn/bin/yarn
run: sudo rm -f /usr/local/bin/node /usr/local/bin/npm /usr/local/bin/npx /usr/bin/yarn /Users/runner/.yarn/bin/yarn

- name: Init Windows environment
if: matrix.os == 'windows-2019'
run: rm -r -fo "C:\Program Files\nodejs" && rm -r -fo "C:\npm"
run: |
Rename-Item "C:\Program Files\nodejs" "nodejs.old" -Force
Rename-Item "C:\npm" "npm.old" -Force
- name: Git checkout for source code analysis
uses: actions/checkout@v2
Expand All @@ -44,43 +43,51 @@ jobs:
fetch-depth: 1

- name: Set up JDK 11
uses: actions/setup-java@v1
uses: actions/setup-java@v2
with:
distribution: adopt
java-version: '11'
java-package: jdk
architecture: x64

- name: Cache Gradle's cache and wrapper
uses: actions/cache@v2.1.3
uses: actions/cache@v2
with:
path: |
- ~/.gradle/caches/
- ~/.gradle/wrapper/
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
~/.gradle/caches/
~/.gradle/wrapper/
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Cache Sonar's cache
uses: actions/cache@v2.1.3
uses: actions/cache@v2
if: matrix.os == 'ubuntu-20.04'
with:
path: |
- ~/.sonar/cache/
key: ${{ runner.os }}-sonar
~/.sonar/cache/
key: ${{ runner.os }}-sonar-${{ hashFiles('**/*.gradle*') }}

- name: Grant executable permission
run: chmod +x gradlew src/intTest/resources/*/bin/*

- name: Build plugin with test coverage
- name: Build plugin on Linux (with test coverage)
if: matrix.os == 'ubuntu-20.04'
run: ./gradlew build jacocoTestReport --console=plain

- name: Build plugin
if: matrix.os != 'ubuntu-20.04'
- name: Build plugin on MacOS
if: matrix.os == 'macos-10.15'
run: ./gradlew :build --console=plain

- name: Build plugin on Windows
if: matrix.os == 'windows-2019'
run: |
Remove-Item Env:npm_config_prefix
./gradlew :build --console=plain
- name: Scan source code and test results
if: matrix.os == 'ubuntu-20.04'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: ./gradlew -i sonarqube --console=plain

3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<h2 align="center">Frontend Gradle plugin - Integrated <a href="https://nodejs.org/" title="Node.js">Node.js</a>, <a href="https://www.npmjs.com/" title="npm">npm</a>, <a href="https://yarnpkg.com/" title="Yarn">Yarn</a> builds</h2>
<p align="center">
<a href="https://github.com/siouan/frontend-gradle-plugin/releases/tag/v5.3.0"><img src="https://img.shields.io/badge/Latest%20release-5.3.0-blue.svg" alt="Latest release 5.3.0"/></a>
<a href="https://github.com/siouan/frontend-gradle-plugin/releases/tag/v6.0.0"><img src="https://img.shields.io/badge/Latest%20release-6.0.0-blue.svg" alt="Latest release 6.0.0"/></a>
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-green.svg" alt="License Apache 2.0"/></a>
<br/>
<a href="https://github.com/siouan/frontend-gradle-plugin/actions/workflows/build.yml"><img src="https://github.com/siouan/frontend-gradle-plugin/actions/workflows/build.yml/badge.svg?branch=master" alt="Build status"/></a>
Expand Down Expand Up @@ -56,6 +56,7 @@ With their feedback, plugin improvement is possible. Special thanks to:
@[napstr](https://github.com/napstr),
@[nitzan-n](https://github.com/nitzan-n),
@[nuth](https://github.com/nuth),
@[pmwmedia](https://github.com/pmwmedia),
@[rolaca11](https://github.com/rolaca11),
@[stephanebastian](https://github.com/stephanebastian),
@[TapaiBalazs](https://github.com/TapaiBalazs),
Expand Down
56 changes: 41 additions & 15 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ val fgpVcsUrl: String by extra
val fgpGradlePluginPortalTags: String by extra

plugins {
id("idea")
id("java-gradle-plugin")
id("jacoco")
id("com.gradle.plugin-publish")
Expand Down Expand Up @@ -51,15 +52,15 @@ configurations["intTestRuntimeOnly"]

dependencies {
implementation(gradleApi())
implementation("org.apache.httpcomponents.client5:httpclient5:5.1")
implementation("org.apache.httpcomponents.client5:httpclient5:5.1.1")
implementation("org.apache.commons:commons-compress:1.21")

testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.2")
testImplementation("org.junit.jupiter:junit-jupiter-params:5.7.2")
testImplementation("org.mockito:mockito-core:3.11.2")
testImplementation("org.mockito:mockito-junit-jupiter:3.11.2")
testImplementation("org.assertj:assertj-core:3.20.2")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.2")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.1")
testImplementation("org.junit.jupiter:junit-jupiter-params:5.8.1")
testImplementation("org.mockito:mockito-core:4.0.0")
testImplementation("org.mockito:mockito-junit-jupiter:4.0.0")
testImplementation("org.assertj:assertj-core:3.21.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.1")

intTestImplementation("com.github.tomakehurst:wiremock:2.27.2")
}
Expand All @@ -73,7 +74,10 @@ tasks.register<Test>("integrationTest") {
group = "verification"
testClassesDirs = sourceSets["intTest"].output.classesDirs
classpath = sourceSets["intTest"].runtimeClasspath
// Yarn immutable installs prevents failures in integration tests due to missing yarn.lock file.
environment["YARN_ENABLE_IMMUTABLE_INSTALLS"] = "false"
shouldRunAfter("test")
outputs.upToDateWhen { false }
}

tasks.withType<Test> {
Expand All @@ -85,16 +89,35 @@ tasks.named<Task>("check") {
}

tasks.named<JacocoReport>("jacocoTestReport") {
dependsOn(tasks.named("integrationTest"))
executionData.setFrom(file("${project.buildDir}/jacoco/test.exec"), file("${project.buildDir}/jacoco/integrationTest.exec"))
dependsOn(tasks.named("test"), tasks.named("integrationTest"))
executionData.setFrom(
file("${project.buildDir}/jacoco/test.exec"),
file("${project.buildDir}/jacoco/integrationTest.exec")
)
reports {
xml.isEnabled = true
xml.destination = file("${buildDir}/reports/jacoco/report.xml")
xml.required.set(true)
xml.outputLocation.set(file("${buildDir}/reports/jacoco/report.xml"))
}
}

gradle.addListener(GradleTestListener(logger))

idea {
module {
// Force integration test source set as test folder
val testSrcDirs = testSourceDirs
testSrcDirs.addAll(project.sourceSets.getByName("intTest").java.srcDirs)
testSourceDirs = testSrcDirs
val testResDirs = testResourceDirs
testResDirs.addAll(project.sourceSets.getByName("intTest").resources.srcDirs)
testResourceDirs = testResDirs
}
}

jacoco {
toolVersion = "0.8.7"
}

gradlePlugin {
plugins {
create("frontendPlugin") {
Expand Down Expand Up @@ -123,7 +146,7 @@ sonarqube {
property("sonar.organization", "siouan")
property("sonar.projectKey", "siouan_frontend-gradle-plugin")
property("sonar.projectName", "frontend-gradle-plugin")
property("sonar.projectVersion", "5.3.0")
property("sonar.projectVersion", fgpVersion)

property("sonar.links.homepage", "https://github.com/siouan/frontend-gradle-plugin")
property("sonar.links.ci", "https://travis-ci.com/siouan/frontend-gradle-plugin")
Expand All @@ -136,10 +159,13 @@ sonarqube {
property("sonar.java.binaries", "build/classes/java/main")
property("sonar.java.test.binaries", "build/classes/java/test,build/classes/java/intTest")
property("sonar.junit.reportPaths", "build/test-results/test/,build/test-results/integrationTest/")
property("sonar.coverage.jacoco.xmlReportPaths", "${buildDir}/reports/jacoco/report.xml")
property("sonar.jacoco.xmlReportPaths", "${buildDir}/reports/jacoco/report.xml")
property("sonar.verbose", true)

// Unrelevant duplications detected on task inputs
property("sonar.cpd.exclusions", "**/org/siouan/frontendgradleplugin/domain/model/*.java,**/org/siouan/frontendgradleplugin/domain/usecase/Get*ExecutablePath.java")

property(
"sonar.cpd.exclusions",
"**/org/siouan/frontendgradleplugin/domain/model/*.java,**/org/siouan/frontendgradleplugin/domain/usecase/Get*ExecutablePath.java"
)
}
}
6 changes: 3 additions & 3 deletions docs/200.html
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<!doctype html>
<html>
<head>
<meta data-n-head="1" charset="utf-8"><meta data-n-head="1" http-equiv="X-UA-Compatible" content="IE=edge"><meta data-n-head="1" http-equiv="content-type" content="text/html"><meta data-n-head="1" http-equiv="Cache-Control" content="no-cache,no-store,must-revalidate"><meta data-n-head="1" http-equiv="Pragma" content="no-cache"><meta data-n-head="1" http-equiv="Expires" content="-1"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" name="robots" content="index,follow"><meta data-n-head="1" name="og:locale" content="en_US"><meta data-n-head="1" name="og:type" content="website"><meta data-n-head="1" name="og:url" content=""><meta data-n-head="1" name="og:site_name" content=""><meta data-n-head="1" name="google" content="nositelinkssearchbox"><link data-n-head="1" rel="icon" type="image/x-icon" href="siouan-icon.png"><base href="/frontend-gradle-plugin/"><link rel="preload" href="/frontend-gradle-plugin/_nuxt/0c39b38.js" as="script"><link rel="preload" href="/frontend-gradle-plugin/_nuxt/2ee509c.js" as="script"><link rel="preload" href="/frontend-gradle-plugin/_nuxt/a761aa2.js" as="script"><link rel="preload" href="/frontend-gradle-plugin/_nuxt/1c34f4b.js" as="script">
<meta data-n-head="1" charset="utf-8"><meta data-n-head="1" http-equiv="X-UA-Compatible" content="IE=edge"><meta data-n-head="1" http-equiv="content-type" content="text/html"><meta data-n-head="1" http-equiv="Cache-Control" content="no-cache,no-store,must-revalidate"><meta data-n-head="1" http-equiv="Pragma" content="no-cache"><meta data-n-head="1" http-equiv="Expires" content="-1"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" name="robots" content="index,follow"><meta data-n-head="1" name="og:locale" content="en_US"><meta data-n-head="1" name="og:type" content="website"><meta data-n-head="1" name="og:url" content=""><meta data-n-head="1" name="og:site_name" content=""><meta data-n-head="1" name="google" content="nositelinkssearchbox"><link data-n-head="1" rel="icon" type="image/x-icon" href="siouan-icon.png"><base href="/frontend-gradle-plugin/"><link rel="preload" href="/frontend-gradle-plugin/_nuxt/5642b14.js" as="script"><link rel="preload" href="/frontend-gradle-plugin/_nuxt/e531adc.js" as="script"><link rel="preload" href="/frontend-gradle-plugin/_nuxt/0a4a06d.js" as="script"><link rel="preload" href="/frontend-gradle-plugin/_nuxt/216d041.js" as="script">
</head>
<body>
<div id="__nuxt"><style>#nuxt-loading{background:#fff;visibility:hidden;opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;flex-direction:column;animation:nuxtLoadingIn 10s ease;-webkit-animation:nuxtLoadingIn 10s ease;animation-fill-mode:forwards;overflow:hidden}@keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}@-webkit-keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}#nuxt-loading>div,#nuxt-loading>div:after{border-radius:50%;width:5rem;height:5rem}#nuxt-loading>div{font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid #f5f5f5;border-left:.5rem solid #000;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:nuxtLoading 1.1s infinite linear;animation:nuxtLoading 1.1s infinite linear}#nuxt-loading.error>div{border-left:.5rem solid #ff4500;animation-duration:5s}@-webkit-keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}</style><script>window.addEventListener("error",function(){var e=document.getElementById("nuxt-loading");e&&(e.className+=" error")})</script><div id="nuxt-loading" aria-live="polite" role="status"><div>Loading...</div></div></div><script>window.__NUXT__={config:{_app:{basePath:"/frontend-gradle-plugin/",assetsPath:"/frontend-gradle-plugin/_nuxt/",cdnURL:null}},staticAssetsBase:"/frontend-gradle-plugin/_nuxt/static/1627203349"}</script>
<script src="/frontend-gradle-plugin/_nuxt/0c39b38.js"></script><script src="/frontend-gradle-plugin/_nuxt/2ee509c.js"></script><script src="/frontend-gradle-plugin/_nuxt/a761aa2.js"></script><script src="/frontend-gradle-plugin/_nuxt/1c34f4b.js"></script></body>
<div id="__nuxt"><style>#nuxt-loading{background:#fff;visibility:hidden;opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;flex-direction:column;animation:nuxtLoadingIn 10s ease;-webkit-animation:nuxtLoadingIn 10s ease;animation-fill-mode:forwards;overflow:hidden}@keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}@-webkit-keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}#nuxt-loading>div,#nuxt-loading>div:after{border-radius:50%;width:5rem;height:5rem}#nuxt-loading>div{font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid #f5f5f5;border-left:.5rem solid #000;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:nuxtLoading 1.1s infinite linear;animation:nuxtLoading 1.1s infinite linear}#nuxt-loading.error>div{border-left:.5rem solid #ff4500;animation-duration:5s}@-webkit-keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}</style><script>window.addEventListener("error",function(){var e=document.getElementById("nuxt-loading");e&&(e.className+=" error")})</script><div id="nuxt-loading" aria-live="polite" role="status"><div>Loading...</div></div></div><script>window.__NUXT__={config:{_app:{basePath:"/frontend-gradle-plugin/",assetsPath:"/frontend-gradle-plugin/_nuxt/",cdnURL:null}},staticAssetsBase:"/frontend-gradle-plugin/_nuxt/static/1636306410"}</script>
<script src="/frontend-gradle-plugin/_nuxt/5642b14.js"></script><script src="/frontend-gradle-plugin/_nuxt/e531adc.js"></script><script src="/frontend-gradle-plugin/_nuxt/0a4a06d.js"></script><script src="/frontend-gradle-plugin/_nuxt/216d041.js"></script></body>
</html>
Loading

0 comments on commit 8627c87

Please sign in to comment.