!sIPyr@F6_&@MT
VSk1K`^{oH^002ovPDHLkV1lp!?A`zX
literal 0
HcmV?d00001
diff --git a/build.gradle b/build.gradle
index 4fd0f66..1a11881 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,6 +10,7 @@ plugins {
id 'pl.allegro.tech.build.axion-release' version '1.15.0' apply false
id 'org.jdrupes.vmoperator.java-doc-conventions'
id 'eclipse'
+ id "com.github.node-gradle.node" version "7.0.1"
}
allprojects {
diff --git a/buildSrc/.project b/buildSrc/.project
deleted file mode 100644
index effb550..0000000
--- a/buildSrc/.project
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- buildSrc
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.buildship.core.gradleprojectbuilder
-
-
-
-
-
- org.eclipse.jdt.groovy.core.groovyNature
- org.eclipse.jdt.core.javanature
- org.eclipse.buildship.core.gradleprojectnature
-
-
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
index 8a1e6e1..a9fb634 100644
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -45,7 +45,8 @@ eclipse {
}
project.natures += 'org.eclipse.buildship.core.gradleprojectnature'
- project.buildCommand 'org.eclipse.buildship.core.gradleprojectbuilder'
+ // Don't build, result not used by Eclipse anyway
+ // project.buildCommand 'org.eclipse.buildship.core.gradleprojectbuilder'
}
}
diff --git a/buildSrc/src/org.jdrupes.vmoperator.java-common-conventions.gradle b/buildSrc/src/org.jdrupes.vmoperator.java-common-conventions.gradle
index fa85d06..50aebae 100644
--- a/buildSrc/src/org.jdrupes.vmoperator.java-common-conventions.gradle
+++ b/buildSrc/src/org.jdrupes.vmoperator.java-common-conventions.gradle
@@ -58,22 +58,6 @@ java {
}
}
-scmVersion {
- versionIncrementer 'incrementMinor'
- tag {
- def shortened = project.name.startsWith(project.group + ".") ?
- project.name.substring(project.group.length() + 1) : project.name
- var p = shortened.replace('.', '-') + "-"
- if (grgit.branch.current.name != "main"
- && !grgit.branch.current.name.startsWith("release")) {
- p = p + grgit.branch.current.name.replace('/', '-') + "-"
- }
- prefix = p
- }
-}
-version = scmVersion.version
-ext.isSnapshot = version.endsWith('-SNAPSHOT')
-
jar {
manifest {
inputs.property("gitDescriptor", { grgit.describe(always: true) })
diff --git a/checkstyle.xml b/checkstyle.xml
index 7fa3b95..b5a60d3 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -1,7 +1,7 @@
+
+
diff --git a/org.jdrupes.vmoperator.manager/resources/org/jdrupes/vmoperator/manager/console-brand.ftl.html b/org.jdrupes.vmoperator.manager/resources/org/jdrupes/vmoperator/manager/console-brand.ftl.html
new file mode 100644
index 0000000..a81ee0a
--- /dev/null
+++ b/org.jdrupes.vmoperator.manager/resources/org/jdrupes/vmoperator/manager/console-brand.ftl.html
@@ -0,0 +1,2 @@
+
${_("consoleTitle")}
\ No newline at end of file
diff --git a/org.jdrupes.vmoperator.manager/resources/org/jdrupes/vmoperator/manager/favicon.ico b/org.jdrupes.vmoperator.manager/resources/org/jdrupes/vmoperator/manager/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..1b9443d9e421adaeb71ba0b2a897bdb8265e7f58
GIT binary patch
literal 59789
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