From 1031ac773d8e71519497a77a711b4c4c84c40022 Mon Sep 17 00:00:00 2001 From: "Peter(Yongsik) Moon" Date: Thu, 4 Mar 2021 10:15:23 +1100 Subject: [PATCH 1/2] Use nodejs plugin for Gradle No need to manually install grunt/loadash cli --- nodel-webui-js/build.gradle | 53 +++++++++++++++++-------------------- nodel-webui-js/package.json | 7 ++++- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/nodel-webui-js/build.gradle b/nodel-webui-js/build.gradle index c3292127..3cdea3fa 100644 --- a/nodel-webui-js/build.gradle +++ b/nodel-webui-js/build.gradle @@ -1,13 +1,11 @@ -apply plugin: 'java' -apply plugin: 'eclipse' -apply plugin: 'maven' - import org.apache.tools.ant.filters.ReplaceTokens import org.joda.time.DateTime; buildscript { repositories { + mavenCentral() jcenter() + gradlePluginPortal() } dependencies { @@ -15,6 +13,13 @@ buildscript { } } +plugins { + id 'java' + id 'eclipse' + id 'maven' + id 'com.github.node-gradle.node' version '3.0.1' +} + def hostname = InetAddress.getLocalHost().getHostName().toUpperCase(); def now = DateTime.now().toString(); @@ -36,22 +41,16 @@ def buildSummary = gitId if (!branch.equals("stable")) version project.version + "-" + branch + "_r" + rev -// - -task copyContent(type: Copy, dependsOn: [grunt]) { +task copyContent(type: Copy, dependsOn: [gruntRun]) { from new File(project.buildDir, 'grunt') into new File(project.buildDir, 'www-content_stage') exclude 'build.json' @@ -70,16 +67,16 @@ task copyContent(type: Copy, dependsOn: [grunt]) { task filterContentTemplates(type: Copy) { from 'src' into new File(project.buildDir, 'www-content_stage') - include 'build.json' - filter(ReplaceTokens, tokens: [ + include 'build.json' + filter(ReplaceTokens, tokens: [ buildSummary: project.name + "-" + project.version + " " + buildSummary + " (" + hostname + ") " + now, buildProject: project.name, - buildBranch: branch, + buildBranch : branch, buildVersion: project.version, - buildId: buildSummary, - buildRev: rev, - buildHost: hostname, - buildDate: now + buildId : buildSummary, + buildRev : rev, + buildHost : hostname, + buildDate : now ]) } @@ -104,9 +101,7 @@ sourceSets { compileJava.dependsOn(zipContentInterface) compileJava.dependsOn(copyBuildInfo) - dependencies { compile 'joda-time:joda-time:2.6' compile 'org.joda:joda-convert:1.7' } - diff --git a/nodel-webui-js/package.json b/nodel-webui-js/package.json index 0f8441e1..4cba6c45 100644 --- a/nodel-webui-js/package.json +++ b/nodel-webui-js/package.json @@ -37,7 +37,12 @@ "mkdirp": "^0.5.1", "tslib": "^1.10.0", "uglify-js": "^3.6.0", - "uglifycss": "0.0.29" + "uglifycss": "0.0.29", + "grunt-cli": "^1.3.2", + "lodash-cli": "^4.17.5" + }, + "scripts": { + "run-grunt": "node_modules/.bin/grunt" }, "license": "MPL-2.0", "repository": { From 76b51f6fa6b6bcb7816f0f06b66d97447ffe65aa Mon Sep 17 00:00:00 2001 From: Justin Parker Date: Fri, 5 Mar 2021 17:08:06 +1100 Subject: [PATCH 2/2] updated BUILDING instructions. --- BUILDING.md | 36 +++++++++--------------------------- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index ea61197b..7280eb4c 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -1,6 +1,6 @@ # Building from scratch * **gradle** is the primary build tool for the main Java project (runs on **Java**) -* **grunt** (runs on **Node.js**, installed via **npm**) is used by the **nodel-webui-js** project component + The steps below describe usage on both Windows and Linux * The example refers to **Windows** @@ -12,22 +12,17 @@ The steps below describe usage on both Windows and Linux 1. **Java JDK 8**, see [latest versions](https://adoptopenjdk.net/releases.html) * latest Windows [OpenJDK8U-jdk_x64_windows_hotspot_8u242b08.zip](https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jdk_x64_windows_hotspot_8u242b08.zip) * latest Linux [OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz](https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz) - 2. **Node.js**, see [latest versions](https://nodejs.org/en/download/) - * latest Windows [node-v12.16.2-win-x64.zip](https://nodejs.org/dist/v12.16.2/node-v12.16.2-win-x64.zip) - * latest Linux [node-v12.16.2-linux-x64.tar.xz](https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz) - 3. **Git**, see [latest versions](https://git-scm.com/download) + 3. **Git**, see [latest versions](https://git-scm.com/download) * latest Windows [PortableGit-2.26.0-64-bit.7z.exe](https://github.com/git-for-windows/git/releases/download/v2.26.0.windows.1/PortableGit-2.26.0-64-bit.7z.exe) * Linux install `apt-get install git` * all support "portable" installation, examples here are extracted to `C:\Apps` -## STEP 2: ENSURE SECONDARY DEPENDENCIES ARE 'INSTALLED' -* ensure primary dependencies, above, are on path, e.g. on Windows: +## STEP 2: ENSURE DEPENDENCIES ARE 'READY' +* ensure dependencies, above, are on path, e.g. on Windows: ```bat -set PATH=%PATH%;C:\Apps\node-v12.16.2-win-x64;C:\Apps\git\bin;C:\Apps\jdk8u242-b08\bin +set PATH=%PATH%;C:\Apps\git\bin;C:\Apps\jdk8u242-b08\bin ``` -* install **grunt** and **lodash** into the "global" location (sits alongside **Node.js** binaries) - * `npm install -g grunt-cli lodash-cli` ## STEP 3: ENSURE REPOSITORY IS CLONED * ensure primary dependencies, above, are on path (see example in STEP 2, above) @@ -54,30 +49,18 @@ wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u24 tar xf OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz # ends up in ./jdk8u242-b08 -# download and extract Node.js (and npm) -wget https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz -tar xf node-v12.16.2-linux-x64.tar.xz -# ends up in ./node-v12.16.2-linux-x64 - # (git is normally already available) # adjust PATH -export PATH=$PATH:~/jdk8u242-b08/bin/:~/node-v12.16.2-linux-x64/bin/ - -# install 'grunt' and 'lodash' in "global" location -npm install -g grunt-cli lodash-cli +export PATH=$PATH:~/jdk8u242-b08/bin/ # quickly verify versions of all dependencies + java -version # e.g. >> openjdk version "1.8.0_242" -node --version -# e.g. >> v12.16.2 + git version # e.g. >> git version 2.25.1 -grunt --version -# e.g. >> grunt-cli v1.3.2 -lodash --version -# e.g. >> 4.17.5 # clone repo git clone https://github.com/museumsvictoria/nodel nodel-build @@ -108,9 +91,8 @@ git clean -fxd **Full cleanup** ```bash rm -fr ~/jdk8u242-b08 -rm -fr ~/node-v12.16.2-linux-x64 rm -fr ~/nodel-build ``` --- -¹ For OSX, adjust to suit. \ No newline at end of file +¹ For macOS, adjust to suit. \ No newline at end of file