diff --git a/gradle.properties b/gradle.properties index ddfc4f68a..b32c11643 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1,2 @@ -version = 1.2023.7 \ No newline at end of file +version = 1.2023.8beta1 +org.gradle.workers.max = 3 \ No newline at end of file diff --git a/plantuml-asl/build.gradle.kts b/plantuml-asl/build.gradle.kts new file mode 100644 index 000000000..8740bc05a --- /dev/null +++ b/plantuml-asl/build.gradle.kts @@ -0,0 +1,182 @@ +// permits to start the build setting the javac release parameter, no parameter means build for java8: +// gradle clean build -x javaDoc -PjavacRelease=8 +// gradle clean build -x javaDoc -PjavacRelease=17 +// also supported is to build first, with java17, then switch the java version, and run the test with java8: +// gradle clean build -x javaDoc -x test +// gradle test +val javacRelease = (project.findProperty("javacRelease") ?: "8") as String + +plugins { + java + `maven-publish` + signing +} + +group = "net.sourceforge.plantuml" +description = "PlantUML" + +java { + withSourcesJar() + withJavadocJar() + registerFeature("pdf") { + usingSourceSet(sourceSets["main"]) + } +} + +dependencies { + compileOnly("org.apache.ant:ant:1.10.13") + testImplementation("org.assertj:assertj-core:3.24.2") + testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testImplementation("org.scilab.forge:jlatexmath:1.0.7") +} + +repositories { + mavenLocal() + mavenCentral() +} + +sourceSets { + main { + java { + srcDirs("build/generated/sjpp") + } + resources { + srcDirs("build/generated/sjpp") + include("**/*.png") + include("**/*.svg") + include("**/*.txt") + } + } +} + +tasks.compileJava { + if (JavaVersion.current().isJava8) { + java.targetCompatibility = JavaVersion.VERSION_1_8 + } else { + options.release.set(Integer.parseInt(javacRelease)) + } +} + +tasks.withType().configureEach { + manifest { + attributes["Main-Class"] = "net.sourceforge.plantuml.Run" + attributes["Implementation-Version"] = archiveVersion + attributes["Build-Jdk-Spec"] = System.getProperty("java.specification.version") + from("../manifest.txt") + } + from("../skin") { into("skin") } + from("../stdlib") { into("stdlib") } + from("../svg") { into("svg") } + from("../themes") { into("themes") } + // source sets for java and resources are on "src", only put once into the jar + duplicatesStrategy = DuplicatesStrategy.EXCLUDE +} + +tasks.withType().configureEach { + options.encoding = "UTF-8" +} + +tasks.withType().configureEach { + options { + this as StandardJavadocDocletOptions + addBooleanOption("Xdoclint:none", true) + addStringOption("Xmaxwarns", "1") + encoding = "UTF-8" + isUse = true + } +} + +val syncSources by tasks.registering(Sync::class) { + from(rootProject.layout.projectDirectory.dir("src")) + into(project.layout.buildDirectory.dir("sources/sjpp/java")) +} + +val preprocessLicenceAntTask by tasks.registering() { + dependsOn(syncSources) + inputs.dir(project.layout.buildDirectory.dir("sources/sjpp/java")) + outputs.dir(project.layout.buildDirectory.dir("generated/sjpp")) + doLast { + ant.withGroovyBuilder { + "taskdef"( + "name" to "sjpp", + "classname" to "sjpp.SjppAntTask", + "classpath" to rootProject.layout.projectDirectory.files("sjpp.jar").asPath + ) + "sjpp"( + "src" to project.layout.buildDirectory.dir("sources/sjpp/java").get().asFile.absolutePath, + "dest" to project.layout.buildDirectory.dir("generated/sjpp").get().asFile.absolutePath, + "define" to "__ASL__" + ) + } + } +} + +tasks.processResources{ + dependsOn(preprocessLicenceAntTask) +} + +tasks.compileJava{ + dependsOn(preprocessLicenceAntTask) +} + +tasks.named("sourcesJar"){ + dependsOn(preprocessLicenceAntTask) +} + + +publishing { + publications.create("maven") { + from(components["java"]) + pom { + name.set("PlantUML") + description.set("PlantUML is a component that allows to quickly write diagrams from text.") + groupId = project.group as String + artifactId = project.name + version = project.version as String + url.set("https://plantuml.com/") + licenses { + license { + name.set("ASL License") + url.set("https://opensource.org/license/apache-2-0/") + } + } + developers { + developer { + id.set("arnaud.roques") + name.set("Arnaud Roques") + email.set("plantuml@gmail.com") + } + } + scm { + connection.set("scm:git:git://github.com:plantuml/plantuml.git") + developerConnection.set("scm:git:ssh://git@github.com:plantuml/plantuml.git") + url.set("https://github.com/plantuml/plantuml") + } + } + } + repositories { + maven { + name = "OSSRH" + val releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" + val snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/" + url = uri(if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl) + credentials { + username = System.getenv("OSSRH_USERNAME") + password = System.getenv("OSSRH_PASSWORD") + } + } + } +} + +signing { + if (hasProperty("signing.gnupg.keyName") && hasProperty("signing.gnupg.passphrase")) { + useGpgCmd() + } else if (hasProperty("signingKey") && hasProperty("signingPassword")) { + val signingKey: String? by project + val signingPassword: String? by project + useInMemoryPgpKeys(signingKey, signingPassword) + } + if (hasProperty("signing.gnupg.passphrase") || hasProperty("signingPassword")) { + sign(publishing.publications["maven"]) + } +} diff --git a/plantuml-bsd/build.gradle.kts b/plantuml-bsd/build.gradle.kts new file mode 100644 index 000000000..64632036a --- /dev/null +++ b/plantuml-bsd/build.gradle.kts @@ -0,0 +1,182 @@ +// permits to start the build setting the javac release parameter, no parameter means build for java8: +// gradle clean build -x javaDoc -PjavacRelease=8 +// gradle clean build -x javaDoc -PjavacRelease=17 +// also supported is to build first, with java17, then switch the java version, and run the test with java8: +// gradle clean build -x javaDoc -x test +// gradle test +val javacRelease = (project.findProperty("javacRelease") ?: "8") as String + +plugins { + java + `maven-publish` + signing +} + +group = "net.sourceforge.plantuml" +description = "PlantUML" + +java { + withSourcesJar() + withJavadocJar() + registerFeature("pdf") { + usingSourceSet(sourceSets["main"]) + } +} + +dependencies { + compileOnly("org.apache.ant:ant:1.10.13") + testImplementation("org.assertj:assertj-core:3.24.2") + testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testImplementation("org.scilab.forge:jlatexmath:1.0.7") +} + +repositories { + mavenLocal() + mavenCentral() +} + +sourceSets { + main { + java { + srcDirs("build/generated/sjpp") + } + resources { + srcDirs("build/generated/sjpp") + include("**/*.png") + include("**/*.svg") + include("**/*.txt") + } + } +} + +tasks.compileJava { + if (JavaVersion.current().isJava8) { + java.targetCompatibility = JavaVersion.VERSION_1_8 + } else { + options.release.set(Integer.parseInt(javacRelease)) + } +} + +tasks.withType().configureEach { + manifest { + attributes["Main-Class"] = "net.sourceforge.plantuml.Run" + attributes["Implementation-Version"] = archiveVersion + attributes["Build-Jdk-Spec"] = System.getProperty("java.specification.version") + from("../manifest.txt") + } + from("../skin") { into("skin") } + from("../stdlib") { into("stdlib") } + from("../svg") { into("svg") } + from("../themes") { into("themes") } + // source sets for java and resources are on "src", only put once into the jar + duplicatesStrategy = DuplicatesStrategy.EXCLUDE +} + +tasks.withType().configureEach { + options.encoding = "UTF-8" +} + +tasks.withType().configureEach { + options { + this as StandardJavadocDocletOptions + addBooleanOption("Xdoclint:none", true) + addStringOption("Xmaxwarns", "1") + encoding = "UTF-8" + isUse = true + } +} + +val syncSources by tasks.registering(Sync::class) { + from(rootProject.layout.projectDirectory.dir("src")) + into(project.layout.buildDirectory.dir("sources/sjpp/java")) +} + +val preprocessLicenceAntTask by tasks.registering() { + dependsOn(syncSources) + inputs.dir(project.layout.buildDirectory.dir("sources/sjpp/java")) + outputs.dir(project.layout.buildDirectory.dir("generated/sjpp")) + doLast { + ant.withGroovyBuilder { + "taskdef"( + "name" to "sjpp", + "classname" to "sjpp.SjppAntTask", + "classpath" to rootProject.layout.projectDirectory.files("sjpp.jar").asPath + ) + "sjpp"( + "src" to project.layout.buildDirectory.dir("sources/sjpp/java").get().asFile.absolutePath, + "dest" to project.layout.buildDirectory.dir("generated/sjpp").get().asFile.absolutePath, + "define" to "__BSD__" + ) + } + } +} + +tasks.processResources{ + dependsOn(preprocessLicenceAntTask) +} + +tasks.compileJava{ + dependsOn(preprocessLicenceAntTask) +} + +tasks.named("sourcesJar"){ + dependsOn(preprocessLicenceAntTask) +} + + +publishing { + publications.create("maven") { + from(components["java"]) + pom { + name.set("PlantUML") + description.set("PlantUML is a component that allows to quickly write diagrams from text.") + groupId = project.group as String + artifactId = project.name + version = project.version as String + url.set("https://plantuml.com/") + licenses { + license { + name.set("BSD License") + url.set("https://opensource.org/license/bsd-2-clause/") + } + } + developers { + developer { + id.set("arnaud.roques") + name.set("Arnaud Roques") + email.set("plantuml@gmail.com") + } + } + scm { + connection.set("scm:git:git://github.com:plantuml/plantuml.git") + developerConnection.set("scm:git:ssh://git@github.com:plantuml/plantuml.git") + url.set("https://github.com/plantuml/plantuml") + } + } + } + repositories { + maven { + name = "OSSRH" + val releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" + val snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/" + url = uri(if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl) + credentials { + username = System.getenv("OSSRH_USERNAME") + password = System.getenv("OSSRH_PASSWORD") + } + } + } +} + +signing { + if (hasProperty("signing.gnupg.keyName") && hasProperty("signing.gnupg.passphrase")) { + useGpgCmd() + } else if (hasProperty("signingKey") && hasProperty("signingPassword")) { + val signingKey: String? by project + val signingPassword: String? by project + useInMemoryPgpKeys(signingKey, signingPassword) + } + if (hasProperty("signing.gnupg.passphrase") || hasProperty("signingPassword")) { + sign(publishing.publications["maven"]) + } +} diff --git a/plantuml-epl/build.gradle.kts b/plantuml-epl/build.gradle.kts new file mode 100644 index 000000000..f110de628 --- /dev/null +++ b/plantuml-epl/build.gradle.kts @@ -0,0 +1,182 @@ +// permits to start the build setting the javac release parameter, no parameter means build for java8: +// gradle clean build -x javaDoc -PjavacRelease=8 +// gradle clean build -x javaDoc -PjavacRelease=17 +// also supported is to build first, with java17, then switch the java version, and run the test with java8: +// gradle clean build -x javaDoc -x test +// gradle test +val javacRelease = (project.findProperty("javacRelease") ?: "8") as String + +plugins { + java + `maven-publish` + signing +} + +group = "net.sourceforge.plantuml" +description = "PlantUML" + +java { + withSourcesJar() + withJavadocJar() + registerFeature("pdf") { + usingSourceSet(sourceSets["main"]) + } +} + +dependencies { + compileOnly("org.apache.ant:ant:1.10.13") + testImplementation("org.assertj:assertj-core:3.24.2") + testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testImplementation("org.scilab.forge:jlatexmath:1.0.7") +} + +repositories { + mavenLocal() + mavenCentral() +} + +sourceSets { + main { + java { + srcDirs("build/generated/sjpp") + } + resources { + srcDirs("build/generated/sjpp") + include("**/*.png") + include("**/*.svg") + include("**/*.txt") + } + } +} + +tasks.compileJava { + if (JavaVersion.current().isJava8) { + java.targetCompatibility = JavaVersion.VERSION_1_8 + } else { + options.release.set(Integer.parseInt(javacRelease)) + } +} + +tasks.withType().configureEach { + manifest { + attributes["Main-Class"] = "net.sourceforge.plantuml.Run" + attributes["Implementation-Version"] = archiveVersion + attributes["Build-Jdk-Spec"] = System.getProperty("java.specification.version") + from("../manifest.txt") + } + from("../skin") { into("skin") } + from("../stdlib") { into("stdlib") } + from("../svg") { into("svg") } + from("../themes") { into("themes") } + // source sets for java and resources are on "src", only put once into the jar + duplicatesStrategy = DuplicatesStrategy.EXCLUDE +} + +tasks.withType().configureEach { + options.encoding = "UTF-8" +} + +tasks.withType().configureEach { + options { + this as StandardJavadocDocletOptions + addBooleanOption("Xdoclint:none", true) + addStringOption("Xmaxwarns", "1") + encoding = "UTF-8" + isUse = true + } +} + +val syncSources by tasks.registering(Sync::class) { + from(rootProject.layout.projectDirectory.dir("src")) + into(project.layout.buildDirectory.dir("sources/sjpp/java")) +} + +val preprocessLicenceAntTask by tasks.registering() { + dependsOn(syncSources) + inputs.dir(project.layout.buildDirectory.dir("sources/sjpp/java")) + outputs.dir(project.layout.buildDirectory.dir("generated/sjpp")) + doLast { + ant.withGroovyBuilder { + "taskdef"( + "name" to "sjpp", + "classname" to "sjpp.SjppAntTask", + "classpath" to rootProject.layout.projectDirectory.files("sjpp.jar").asPath + ) + "sjpp"( + "src" to project.layout.buildDirectory.dir("sources/sjpp/java").get().asFile.absolutePath, + "dest" to project.layout.buildDirectory.dir("generated/sjpp").get().asFile.absolutePath, + "define" to "__EPL__" + ) + } + } +} + +tasks.processResources{ + dependsOn(preprocessLicenceAntTask) +} + +tasks.compileJava{ + dependsOn(preprocessLicenceAntTask) +} + +tasks.named("sourcesJar"){ + dependsOn(preprocessLicenceAntTask) +} + + +publishing { + publications.create("maven") { + from(components["java"]) + pom { + name.set("PlantUML") + description.set("PlantUML is a component that allows to quickly write diagrams from text.") + groupId = project.group as String + artifactId = project.name + version = project.version as String + url.set("https://plantuml.com/") + licenses { + license { + name.set("EPL License") + url.set("https://opensource.org/license/epl-1-0/") + } + } + developers { + developer { + id.set("arnaud.roques") + name.set("Arnaud Roques") + email.set("plantuml@gmail.com") + } + } + scm { + connection.set("scm:git:git://github.com:plantuml/plantuml.git") + developerConnection.set("scm:git:ssh://git@github.com:plantuml/plantuml.git") + url.set("https://github.com/plantuml/plantuml") + } + } + } + repositories { + maven { + name = "OSSRH" + val releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" + val snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/" + url = uri(if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl) + credentials { + username = System.getenv("OSSRH_USERNAME") + password = System.getenv("OSSRH_PASSWORD") + } + } + } +} + +signing { + if (hasProperty("signing.gnupg.keyName") && hasProperty("signing.gnupg.passphrase")) { + useGpgCmd() + } else if (hasProperty("signingKey") && hasProperty("signingPassword")) { + val signingKey: String? by project + val signingPassword: String? by project + useInMemoryPgpKeys(signingKey, signingPassword) + } + if (hasProperty("signing.gnupg.passphrase") || hasProperty("signingPassword")) { + sign(publishing.publications["maven"]) + } +} diff --git a/plantuml-lgpl/build.gradle.kts b/plantuml-lgpl/build.gradle.kts new file mode 100644 index 000000000..e7c1411a1 --- /dev/null +++ b/plantuml-lgpl/build.gradle.kts @@ -0,0 +1,182 @@ +// permits to start the build setting the javac release parameter, no parameter means build for java8: +// gradle clean build -x javaDoc -PjavacRelease=8 +// gradle clean build -x javaDoc -PjavacRelease=17 +// also supported is to build first, with java17, then switch the java version, and run the test with java8: +// gradle clean build -x javaDoc -x test +// gradle test +val javacRelease = (project.findProperty("javacRelease") ?: "8") as String + +plugins { + java + `maven-publish` + signing +} + +group = "net.sourceforge.plantuml" +description = "PlantUML" + +java { + withSourcesJar() + withJavadocJar() + registerFeature("pdf") { + usingSourceSet(sourceSets["main"]) + } +} + +dependencies { + compileOnly("org.apache.ant:ant:1.10.13") + testImplementation("org.assertj:assertj-core:3.24.2") + testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testImplementation("org.scilab.forge:jlatexmath:1.0.7") +} + +repositories { + mavenLocal() + mavenCentral() +} + +sourceSets { + main { + java { + srcDirs("build/generated/sjpp") + } + resources { + srcDirs("build/generated/sjpp") + include("**/*.png") + include("**/*.svg") + include("**/*.txt") + } + } +} + +tasks.compileJava { + if (JavaVersion.current().isJava8) { + java.targetCompatibility = JavaVersion.VERSION_1_8 + } else { + options.release.set(Integer.parseInt(javacRelease)) + } +} + +tasks.withType().configureEach { + manifest { + attributes["Main-Class"] = "net.sourceforge.plantuml.Run" + attributes["Implementation-Version"] = archiveVersion + attributes["Build-Jdk-Spec"] = System.getProperty("java.specification.version") + from("../manifest.txt") + } + from("../skin") { into("skin") } + from("../stdlib") { into("stdlib") } + from("../svg") { into("svg") } + from("../themes") { into("themes") } + // source sets for java and resources are on "src", only put once into the jar + duplicatesStrategy = DuplicatesStrategy.EXCLUDE +} + +tasks.withType().configureEach { + options.encoding = "UTF-8" +} + +tasks.withType().configureEach { + options { + this as StandardJavadocDocletOptions + addBooleanOption("Xdoclint:none", true) + addStringOption("Xmaxwarns", "1") + encoding = "UTF-8" + isUse = true + } +} + +val syncSources by tasks.registering(Sync::class) { + from(rootProject.layout.projectDirectory.dir("src")) + into(project.layout.buildDirectory.dir("sources/sjpp/java")) +} + +val preprocessLicenceAntTask by tasks.registering() { + dependsOn(syncSources) + inputs.dir(project.layout.buildDirectory.dir("sources/sjpp/java")) + outputs.dir(project.layout.buildDirectory.dir("generated/sjpp")) + doLast { + ant.withGroovyBuilder { + "taskdef"( + "name" to "sjpp", + "classname" to "sjpp.SjppAntTask", + "classpath" to rootProject.layout.projectDirectory.files("sjpp.jar").asPath + ) + "sjpp"( + "src" to project.layout.buildDirectory.dir("sources/sjpp/java").get().asFile.absolutePath, + "dest" to project.layout.buildDirectory.dir("generated/sjpp").get().asFile.absolutePath, + "define" to "__LGPL__" + ) + } + } +} + +tasks.processResources{ + dependsOn(preprocessLicenceAntTask) +} + +tasks.compileJava{ + dependsOn(preprocessLicenceAntTask) +} + +tasks.named("sourcesJar"){ + dependsOn(preprocessLicenceAntTask) +} + + +publishing { + publications.create("maven") { + from(components["java"]) + pom { + name.set("PlantUML") + description.set("PlantUML is a component that allows to quickly write diagrams from text.") + groupId = project.group as String + artifactId = project.name + version = project.version as String + url.set("https://plantuml.com/") + licenses { + license { + name.set("LGPL License") + url.set("https://opensource.org/license/lgpl-2-1/") + } + } + developers { + developer { + id.set("arnaud.roques") + name.set("Arnaud Roques") + email.set("plantuml@gmail.com") + } + } + scm { + connection.set("scm:git:git://github.com:plantuml/plantuml.git") + developerConnection.set("scm:git:ssh://git@github.com:plantuml/plantuml.git") + url.set("https://github.com/plantuml/plantuml") + } + } + } + repositories { + maven { + name = "OSSRH" + val releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" + val snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/" + url = uri(if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl) + credentials { + username = System.getenv("OSSRH_USERNAME") + password = System.getenv("OSSRH_PASSWORD") + } + } + } +} + +signing { + if (hasProperty("signing.gnupg.keyName") && hasProperty("signing.gnupg.passphrase")) { + useGpgCmd() + } else if (hasProperty("signingKey") && hasProperty("signingPassword")) { + val signingKey: String? by project + val signingPassword: String? by project + useInMemoryPgpKeys(signingKey, signingPassword) + } + if (hasProperty("signing.gnupg.passphrase") || hasProperty("signingPassword")) { + sign(publishing.publications["maven"]) + } +} diff --git a/plantuml-mit/build.gradle.kts b/plantuml-mit/build.gradle.kts index 74336df5d..98d40d130 100644 --- a/plantuml-mit/build.gradle.kts +++ b/plantuml-mit/build.gradle.kts @@ -91,7 +91,7 @@ val syncSources by tasks.registering(Sync::class) { into(project.layout.buildDirectory.dir("sources/sjpp/java")) } -val preprocessMitLicenceAntTask by tasks.registering() { +val preprocessLicenceAntTask by tasks.registering() { dependsOn(syncSources) inputs.dir(project.layout.buildDirectory.dir("sources/sjpp/java")) outputs.dir(project.layout.buildDirectory.dir("generated/sjpp")) @@ -112,15 +112,15 @@ val preprocessMitLicenceAntTask by tasks.registering() { } tasks.processResources{ - dependsOn(preprocessMitLicenceAntTask) + dependsOn(preprocessLicenceAntTask) } tasks.compileJava{ - dependsOn(preprocessMitLicenceAntTask) + dependsOn(preprocessLicenceAntTask) } tasks.named("sourcesJar"){ - dependsOn(preprocessMitLicenceAntTask) + dependsOn(preprocessLicenceAntTask) } diff --git a/settings.gradle.kts b/settings.gradle.kts index 4415cd237..38ce979ce 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,4 +2,8 @@ rootProject.name = "plantuml" val isCiBuild = System.getenv("CI") != null -include("plantuml-mit") \ No newline at end of file +include("plantuml-mit") +include("plantuml-epl") +include("plantuml-bsd") +include("plantuml-asl") +include("plantuml-lgpl") \ No newline at end of file diff --git a/src/ext/plantuml/com/ctreber/acearth/ACearth.java b/src/ext/plantuml/com/ctreber/acearth/ACearth.java index 7efdaaf8d..7f04fc86d 100644 --- a/src/ext/plantuml/com/ctreber/acearth/ACearth.java +++ b/src/ext/plantuml/com/ctreber/acearth/ACearth.java @@ -98,7 +98,7 @@ import ext.plantuml.com.ctreber.aclib.sort.QuickSort; */ public class ACearth { // ::remove folder when __CORE__ - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ public static final String VERSION = "1.1"; public static final String BUILD = "22.11.2002 004"; diff --git a/src/ext/plantuml/com/ctreber/aclib/gui/MOBoolean.java b/src/ext/plantuml/com/ctreber/aclib/gui/MOBoolean.java index b029395da..791eaeeab 100644 --- a/src/ext/plantuml/com/ctreber/aclib/gui/MOBoolean.java +++ b/src/ext/plantuml/com/ctreber/aclib/gui/MOBoolean.java @@ -10,7 +10,7 @@ package ext.plantuml.com.ctreber.aclib.gui; public class MOBoolean extends MonitoredObject { // ::remove folder when __CORE__ - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ private boolean fBoolean; public MOBoolean() diff --git a/src/ext/plantuml/com/ctreber/aclib/sort/CTSort.java b/src/ext/plantuml/com/ctreber/aclib/sort/CTSort.java index 98f361c28..9783f237e 100644 --- a/src/ext/plantuml/com/ctreber/aclib/sort/CTSort.java +++ b/src/ext/plantuml/com/ctreber/aclib/sort/CTSort.java @@ -13,7 +13,7 @@ abstract public class CTSort { // ::remove folder when __HAXE__ // ::remove folder when __CORE__ -// ::remove folder when __MIT__ +// ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ public void sort(Object[] items) { sort(items, new DefaultComparator()); diff --git a/src/ext/plantuml/com/google/zxing/BarcodeFormat.java b/src/ext/plantuml/com/google/zxing/BarcodeFormat.java index 71c791a0a..da912f28f 100644 --- a/src/ext/plantuml/com/google/zxing/BarcodeFormat.java +++ b/src/ext/plantuml/com/google/zxing/BarcodeFormat.java @@ -26,7 +26,7 @@ import java.util.Hashtable; public final class BarcodeFormat { // ::remove folder when __HAXE__ // ::remove folder when __CORE__ - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ // No, we can't use an enum here. J2ME doesn't support it. diff --git a/src/jcckit/GraphicsPlotCanvas.java b/src/jcckit/GraphicsPlotCanvas.java index 82a2f2f5b..08dd0038e 100644 --- a/src/jcckit/GraphicsPlotCanvas.java +++ b/src/jcckit/GraphicsPlotCanvas.java @@ -50,7 +50,7 @@ import jcckit.util.Factory; public class GraphicsPlotCanvas extends PlotCanvas { // ::remove folder when __CORE__ // ::remove folder when __HAXE__ - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ /** Key of a configuration parameter. */ public static final String BACKGROUND_KEY = "background"; public static final String FOREGROUND_KEY = "foreground"; diff --git a/src/net/sourceforge/plantuml/PSystemBuilder.java b/src/net/sourceforge/plantuml/PSystemBuilder.java index 14c2f6aba..f98ddebb1 100644 --- a/src/net/sourceforge/plantuml/PSystemBuilder.java +++ b/src/net/sourceforge/plantuml/PSystemBuilder.java @@ -208,12 +208,10 @@ public class PSystemBuilder { // factories.add(new PSystemSudokuFactory()); // ::done - // ::comment when __CORE__ or __MIT__ + // ::comment when __CORE__ or __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ factories.add(new PSystemDitaaFactory()); - if (License.getCurrent() == License.GPL || License.getCurrent() == License.GPLV2) { - factories.add(new PSystemJcckitFactory()); - factories.add(new PSystemSudokuFactory()); - } + factories.add(new PSystemJcckitFactory()); + factories.add(new PSystemSudokuFactory()); // ::done // ::comment when __CORE__ @@ -232,10 +230,8 @@ public class PSystemBuilder { // ::done factories.add(new PSystemCharlieFactory()); - // ::comment when __CORE__ or __MIT__ - if (License.getCurrent() == License.GPL || License.getCurrent() == License.GPLV2) { - factories.add(new PSystemXearthFactory()); - } + // ::comment when __CORE__ or __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ + factories.add(new PSystemXearthFactory()); // ::done factories.add(new GanttDiagramFactory()); diff --git a/src/net/sourceforge/plantuml/acearth/PSystemXearth.java b/src/net/sourceforge/plantuml/acearth/PSystemXearth.java index 95e69c4e1..a809b3719 100644 --- a/src/net/sourceforge/plantuml/acearth/PSystemXearth.java +++ b/src/net/sourceforge/plantuml/acearth/PSystemXearth.java @@ -59,7 +59,7 @@ import net.sourceforge.plantuml.core.UmlSource; public class PSystemXearth extends AbstractPSystem { // ::remove folder when __CORE__ - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ final private int width; final private int height; diff --git a/src/net/sourceforge/plantuml/flashcode/FlashCodeUtilsZxing.java b/src/net/sourceforge/plantuml/flashcode/FlashCodeUtilsZxing.java index aa37bfb0c..f2058b5d2 100644 --- a/src/net/sourceforge/plantuml/flashcode/FlashCodeUtilsZxing.java +++ b/src/net/sourceforge/plantuml/flashcode/FlashCodeUtilsZxing.java @@ -50,7 +50,7 @@ import ext.plantuml.com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import net.sourceforge.plantuml.utils.Log; public class FlashCodeUtilsZxing implements FlashCodeUtils { - // ::remove file when __MIT__ + // ::remove file when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ private static final Lock lock = new ReentrantLock(); diff --git a/src/net/sourceforge/plantuml/jasic/Jasic.java b/src/net/sourceforge/plantuml/jasic/Jasic.java index 4300ecb61..3bc1b359d 100644 --- a/src/net/sourceforge/plantuml/jasic/Jasic.java +++ b/src/net/sourceforge/plantuml/jasic/Jasic.java @@ -103,7 +103,7 @@ import java.util.Map; public class Jasic { // ::remove folder when __HAXE__ // ::remove folder when __CORE__ - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ // Tokenizing (lexing) ----------------------------------------------------- diff --git a/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java b/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java index 1e2a5c076..b6dd40964 100644 --- a/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java +++ b/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java @@ -54,7 +54,7 @@ import net.sourceforge.plantuml.security.SImageIO; public class PSystemJcckit extends AbstractPSystem { // ::remove folder when __CORE__ - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ private final PropertiesBasedConfigData prop; private final int width; diff --git a/src/net/sourceforge/plantuml/logo/LogoScanner.java b/src/net/sourceforge/plantuml/logo/LogoScanner.java index 212001a6f..b5ac41de8 100644 --- a/src/net/sourceforge/plantuml/logo/LogoScanner.java +++ b/src/net/sourceforge/plantuml/logo/LogoScanner.java @@ -41,7 +41,7 @@ import java.util.Map; class LogoScanner { // ::remove folder when __HAXE__ // ::remove folder when __CORE__ - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ final private Map keywordTable = new HashMap(); private char sourceString[]; private int sourceLength; diff --git a/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java b/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java index 602e52df0..e4b7d20d2 100644 --- a/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java +++ b/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java @@ -68,7 +68,7 @@ import net.sourceforge.plantuml.klimt.sprite.SpriteContainerEmpty; import net.sourceforge.plantuml.png.PngIO; public class GraphicsSudoku { - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ private final ISudoku sudoku; private final UFont numberFont = UFont.sansSerif(20).bold(); diff --git a/src/net/sourceforge/plantuml/theme/ThemeUtils.java b/src/net/sourceforge/plantuml/theme/ThemeUtils.java index 7eb9d14e6..8ee9cc624 100644 --- a/src/net/sourceforge/plantuml/theme/ThemeUtils.java +++ b/src/net/sourceforge/plantuml/theme/ThemeUtils.java @@ -57,7 +57,7 @@ import net.sourceforge.plantuml.utils.Log; // ::done public class ThemeUtils { - // ::remove folder when __HAXE__ + // ::remove folder when __HAXE__ private static final String THEME_FILE_PREFIX = "puml-theme-"; @@ -79,6 +79,17 @@ public class ThemeUtils { // ::done // ::comment when __CORE__ + public static ReadLine getReaderTheme(String realName, String from) { + final String description = realName + " from " + from; + from = from.substring(1, from.length() - 1); + final String res = from + "/" + THEME_FILE_PREFIX + realName + THEME_FILE_SUFFIX; + final InputStream is = Stdlib.getResourceAsStream(res); + if (is == null) + return null; + + return ReadLineReader.create(new InputStreamReader(is), description); + } + public static ReadLine getReaderTheme(String filename) { Log.info("Loading theme " + filename); final String res = "/" + THEME_PATH + "/" + THEME_FILE_PREFIX + filename + THEME_FILE_SUFFIX; diff --git a/src/net/sourceforge/plantuml/tim/EaterTheme.java b/src/net/sourceforge/plantuml/tim/EaterTheme.java index 9f8215b1e..f7152852b 100644 --- a/src/net/sourceforge/plantuml/tim/EaterTheme.java +++ b/src/net/sourceforge/plantuml/tim/EaterTheme.java @@ -53,7 +53,7 @@ import net.sourceforge.plantuml.text.StringLocated; import net.sourceforge.plantuml.theme.ThemeUtils; public class EaterTheme extends Eater { - // ::remove folder when __HAXE__ + // ::remove folder when __HAXE__ private String realName; private String name; @@ -76,7 +76,7 @@ public class EaterTheme extends Eater { final int x = this.name.toLowerCase().indexOf(" from "); if (x != -1) { this.from = this.name.substring(x + " from ".length()); - this.name = this.name.substring(0, x); + this.name = this.name.substring(0, x).trim(); this.context = context; } @@ -102,6 +102,11 @@ public class EaterTheme extends Eater { } throw EaterException.located("Cannot load " + realName); + } else if (from.startsWith("<") && from.endsWith(">")) { + final ReadLine reader = ThemeUtils.getReaderTheme(realName, from); + if (reader == null) + throw EaterException.located("No such theme " + realName + " in " + from); + return reader; } else if (from.startsWith("http://") || from.startsWith("https://")) { final SURL url = SURL.create(ThemeUtils.getFullPath(from, realName)); if (url == null) diff --git a/src/net/sourceforge/plantuml/utils/Base64Coder.java b/src/net/sourceforge/plantuml/utils/Base64Coder.java index 7ea552cf1..c0bf7b5a5 100644 --- a/src/net/sourceforge/plantuml/utils/Base64Coder.java +++ b/src/net/sourceforge/plantuml/utils/Base64Coder.java @@ -2,56 +2,25 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2024, Arnaud Roques + * Copyright 2003-2010 Christian d'Heureuse, Inventec Informatik AG, Zurich, Switzerland + * www.source-code.biz, www.inventec.ch/chdh * - * Project Info: https://plantuml.com - * - * If you like this project or if you find it useful, you can support us at: - * - * https://plantuml.com/patreon (only 1$ per month!) - * https://plantuml.com/paypal - * - * This file is part of PlantUML. + * This module is multi-licensed and may be used under the terms + * of any of the following licenses: * - * PlantUML is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * PlantUML distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. - * - * - * Original Author: Arnaud Roques + * EPL, Eclipse Public License, V1.0 or later, http://www.eclipse.org/legal + * LGPL, GNU Lesser General Public License, V2.1 or later, http://www.gnu.org/licenses/lgpl.html + * GPL, GNU General Public License, V2 or later, http://www.gnu.org/licenses/gpl.html + * AGPL, GNU Affero General Public License V3 or later, http://www.gnu.org/licenses/agpl.html + * AL, Apache License, V2.0 or later, http://www.apache.org/licenses + * BSD, BSD License, http://www.opensource.org/licenses/bsd-license.php + * MIT, MIT License, http://www.opensource.org/licenses/MIT * + * Please contact the author if you need another license. + * This module is provided "as is", without warranties of any kind. * + * Project home page: www.source-code.biz/base64coder/java */ -// Copyright 2003-2010 Christian d'Heureuse, Inventec Informatik AG, Zurich, Switzerland -// www.source-code.biz, www.inventec.ch/chdh -// -// This module is multi-licensed and may be used under the terms -// of any of the following licenses: -// -// EPL, Eclipse Public License, V1.0 or later, http://www.eclipse.org/legal -// LGPL, GNU Lesser General Public License, V2.1 or later, http://www.gnu.org/licenses/lgpl.html -// GPL, GNU General Public License, V2 or later, http://www.gnu.org/licenses/gpl.html -// AGPL, GNU Affero General Public License V3 or later, http://www.gnu.org/licenses/agpl.html -// AL, Apache License, V2.0 or later, http://www.apache.org/licenses -// BSD, BSD License, http://www.opensource.org/licenses/bsd-license.php -// MIT, MIT License, http://www.opensource.org/licenses/MIT -// -// Please contact the author if you need another license. -// This module is provided "as is", without warranties of any kind. -// -// Project home page: www.source-code.biz/base64coder/java - package net.sourceforge.plantuml.utils; /** @@ -64,11 +33,17 @@ package net.sourceforge.plantuml.utils; * Project home page: www.source-code.biz/base64coder/java
* Author: Christian d'Heureuse, Inventec Informatik AG, Zurich, Switzerland
- * Multi-licensed: EPL / LGPL / GPL / AL / BSD / MIT. * * @author Christian d'Heureuse, Inventec Informatik AG, Zurich, Switzerland, * www.source-code.biz */ +//::comment when __MIT__ +//Multi-licensed: EPL / LGPL / GPL / AL / BSD / MIT. +//::done +//::uncomment when __MIT__ +// // Used license: MIT. +//::done + public class Base64Coder { // ::remove file when __HAXE__ diff --git a/src/net/sourceforge/plantuml/version/License.java b/src/net/sourceforge/plantuml/version/License.java index 97bde284a..01cc836f6 100644 --- a/src/net/sourceforge/plantuml/version/License.java +++ b/src/net/sourceforge/plantuml/version/License.java @@ -36,30 +36,46 @@ package net.sourceforge.plantuml.version; import java.text.DateFormat; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.OptionFlags; import net.sourceforge.plantuml.windowsdot.WindowsDotArchive; -public enum License { +public class License { - // ::uncomment when __CORE__ or __MIT__ -// MIT; - // ::done - - // ::comment when __CORE__ or __MIT__ - GPL, GPLV2, LGPL, APACHE, EPL, MIT, BSD; - // ::done + @Override + public String toString() { + // ::comment when __CORE__ or __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ + return "GPL"; + // ::done + // ::uncomment when __CORE__ or __MIT__ + // return "MIT"; + // ::done + // ::uncomment when __EPL__ + // return "EPL"; + // ::done + // ::uncomment when __BSD__ + // return "BSD"; + // ::done + // ::uncomment when __ASL__ + // return "APACHE"; + // ::done + // ::uncomment when __LGPL__ + // return "LGPL"; + // ::done + } public static License getCurrent() { - // ::uncomment when __CORE__ or __MIT__ - // return MIT; - // ::done + return new License(); + } - // ::comment when __CORE__ or __MIT__ - return GPL; - // ::done + public List getTextFull() { + final List text = new ArrayList<>(); + final LicenseInfo licenseInfo = LicenseInfo.retrieveQuick(); + header1(text, licenseInfo); + header2(text, licenseInfo, false); + end3(licenseInfo, text); + return text; } public List getText1(LicenseInfo licenseInfo) { @@ -125,49 +141,42 @@ public enum License { } } - private void addMit(final LicenseInfo licenseInfo, final List text) { - // ::uncomment when __CORE__ -// text.add("Powered by CheerpJ, a Leaning Technologies Java tool."); -// text.add("This library is running using CheerpJ for PlantUML License provided by Leaning Technologies Limited."); -// text.add(" "); -// text.add(" "); - // ::done + private void end3(final LicenseInfo licenseInfo, final List text) { + // ::comment when __CORE__ or __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ text.add("PlantUML is free software; you can redistribute it and/or modify it"); - text.add("under the terms of the MIT License."); + text.add("under the terms of the GNU General Public License as published by"); + text.add("the Free Software Foundation, either version 3 of the License, or"); + text.add("(at your option) any later version."); text.add(" "); - text.add("See http://opensource.org/licenses/MIT"); + text.add("PlantUML distributed in the hope that it will be useful, but"); + text.add("WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY"); + text.add("or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public"); + text.add("License for more details."); text.add(" "); - text.add("Permission is hereby granted, free of charge, to any person obtaining"); - text.add("a copy of this software and associated documentation files (the \"Software\"),"); - text.add("to deal in the Software without restriction, including without limitation"); - text.add("the rights to use, copy, modify, merge, publish, distribute, sublicense,"); - text.add("and/or sell copies of the Software, and to permit persons to whom the"); - text.add("Software is furnished to do so, subject to the following conditions:"); - text.add(" "); - text.add("The above copyright notice and this permission notice shall be included"); - text.add("in all copies or substantial portions of the Software."); - text.add(" "); - text.add("THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS"); - text.add("OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,"); - text.add("FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE"); - text.add("AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,"); - text.add("WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR"); - text.add("IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."); - text.add(" "); - addSupplementary(licenseInfo, text); - text.add("the MIT License."); - text.add(" "); - text.add("The generated images can then be used without any reference to the MIT License."); - text.add("It is not even necessary to stipulate that they have been generated with PlantUML,"); - text.add("although this will be appreciated by the PlantUML team."); - text.add(" "); - text.add("There is an exception : if the textual description in PlantUML language is also covered"); - text.add("by a license (like the MIT), then the generated images are logically covered"); - text.add("by the very same license."); - } + text.add("You should have received a copy of the GNU General Public License"); + text.add("along with this library. If not, see ."); + // ::done - private void addSupplementary(final LicenseInfo licenseInfo, final List text) { + // ::uncomment when __CORE__ + // addCore(licenseInfo, text); + // ::done + // ::uncomment when __MIT__ + // addMit(licenseInfo, text); + // ::done + // ::uncomment when __EPL__ + // addEpl(licenseInfo, text); + // ::done + // ::uncomment when __BSD__ + // addBsd(licenseInfo, text); + // ::done + // ::uncomment when __ASL__ + // addApache(licenseInfo, text); + // ::done + // ::uncomment when __LGPL__ + // addLgpl(licenseInfo, text); + // ::done + text.add(" "); if (licenseInfo.isValid() == false) { text.add("PlantUML can occasionally display sponsored or advertising messages. Those"); text.add("messages are usually generated on welcome or error images and never on"); @@ -179,29 +188,15 @@ public enum License { text.add("Images (whatever their format : PNG, SVG, EPS...) generated by running PlantUML"); text.add("are owned by the author of their corresponding sources code (that is, their"); text.add("textual description in PlantUML language). Those images are not covered by"); - } - - private void end3(final LicenseInfo licenseInfo, final List text) { - // ::comment when __CORE__ or __MIT__ - if (this == License.GPL) - addGpl(licenseInfo, text); - else if (this == License.GPLV2) - addGplV2(licenseInfo, text); - else if (this == License.MIT) - // ::done - addMit(licenseInfo, text); - // ::comment when __CORE__ or __MIT__ - else if (this == License.EPL) - addEpl(licenseInfo, text); - else if (this == License.BSD) - addBsd(licenseInfo, text); - else if (this == License.APACHE) - addApache(licenseInfo, text); - else if (this == License.LGPL) - addLgpl(licenseInfo, text); - else - throw new IllegalStateException(); - // ::done + text.add("this " + this + " license."); + text.add(" "); + text.add("The generated images can then be used without any reference to the " + this + " license."); + text.add("It is not even necessary to stipulate that they have been generated with PlantUML,"); + text.add("although this will be appreciated by the PlantUML team."); + text.add(" "); + text.add("There is an exception : if the textual description in PlantUML language is also covered"); + text.add("by any license, then the generated images are logically covered"); + text.add("by the very same license."); // ::comment when __CORE__ if (OptionFlags.getInstance().isEnableStats()) { @@ -233,184 +228,151 @@ public enum License { text.add(" "); } - // ::comment when __CORE__ - private void addEpl(final LicenseInfo licenseInfo, final List text) { - text.add("PlantUML is free software; you can redistribute it and/or modify it"); - text.add("under the terms of the Eclipse Public License."); - text.add(" "); - text.add("THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC"); - text.add("LICENSE (\"AGREEMENT\"). [Eclipse Public License - v 1.0]"); - text.add(" "); - text.add("ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES"); - text.add("RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT."); - text.add(" "); - text.add("You may obtain a copy of the License at"); - text.add(" "); - text.add("http://www.eclipse.org/legal/epl-v10.html"); - text.add(" "); - text.add("Unless required by applicable law or agreed to in writing, software"); - text.add("distributed under the License is distributed on an \"AS IS\" BASIS,"); - text.add("WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."); - text.add("See the License for the specific language governing permissions and"); - text.add("limitations under the License."); - text.add(" "); - addSupplementary(licenseInfo, text); - text.add("the Eclipse Public License."); - text.add(" "); - text.add("The generated images can then be used without any reference to the Eclipse Public License."); - text.add("It is not even necessary to stipulate that they have been generated with PlantUML,"); - text.add("although this will be appreciated by the PlantUML team."); - text.add(" "); - text.add("There is an exception : if the textual description in PlantUML language is also covered"); - text.add("by a license (like the EPL), then the generated images are logically covered"); - text.add("by the very same license."); - } +// ::uncomment when __CORE__ +// private void addCore(final LicenseInfo licenseInfo, final List text) { +// text.add("Powered by CheerpJ, a Leaning Technologies Java tool."); +// text.add("This library is running using CheerpJ for PlantUML License provided by Leaning Technologies Limited."); +// text.add(" "); +// text.add(" "); +// text.add("PlantUML is free software; you can redistribute it and/or modify it"); +// text.add("under the terms of the MIT License."); +// text.add(" "); +// text.add("See http://opensource.org/licenses/MIT"); +// text.add(" "); +// text.add("Permission is hereby granted, free of charge, to any person obtaining"); +// text.add("a copy of this software and associated documentation files (the \"Software\"),"); +// text.add("to deal in the Software without restriction, including without limitation"); +// text.add("the rights to use, copy, modify, merge, publish, distribute, sublicense,"); +// text.add("and/or sell copies of the Software, and to permit persons to whom the"); +// text.add("Software is furnished to do so, subject to the following conditions:"); +// text.add(" "); +// text.add("The above copyright notice and this permission notice shall be included"); +// text.add("in all copies or substantial portions of the Software."); +// text.add(" "); +// text.add("THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS"); +// text.add("OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,"); +// text.add("FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE"); +// text.add("AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,"); +// text.add("WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR"); +// text.add("IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."); +// } +// ::done - private void addBsd(final LicenseInfo licenseInfo, final List text) { - text.add("PlantUML is free software; you can redistribute it and/or modify it"); - text.add("under the terms of the Revised BSD License."); - text.add(" "); - text.add("All rights reserved."); - text.add("Redistribution and use in source and binary forms, with or without"); - text.add("modification, are permitted provided that the following conditions are met:"); - text.add(" "); - text.add("* Redistributions of source code must retain the above copyright"); - text.add(" notice, this list of conditions and the following disclaimer."); - text.add("* Redistributions in binary form must reproduce the above copyright"); - text.add(" notice, this list of conditions and the following disclaimer in the"); - text.add(" documentation and/or other materials provided with the distribution."); - text.add("* Neither the name of the University of California, Berkeley nor the"); - text.add(" names of its contributors may be used to endorse or promote products"); - text.add(" derived from this software without specific prior written permission."); - text.add(" "); - text.add("THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY"); - text.add("EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED"); - text.add("WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE"); - text.add("DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY"); - text.add("DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES"); - text.add("(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;"); - text.add("LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND"); - text.add("ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT"); - text.add("(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS"); - text.add("SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."); - text.add(" "); - addSupplementary(licenseInfo, text); - text.add("the Eclipse Public License."); - text.add(" "); - text.add("The generated images can then be used without any reference to the Eclipse Public License."); - text.add("It is not even necessary to stipulate that they have been generated with PlantUML,"); - text.add("although this will be appreciated by the PlantUML team."); - text.add(" "); - text.add("There is an exception : if the textual description in PlantUML language is also covered"); - text.add("by a license (like the BSD), then the generated images are logically covered"); - text.add("by the very same license."); - } +// ::uncomment when __MIT__ +// private void addMit(final LicenseInfo licenseInfo, final List text) { +// text.add("PlantUML is free software; you can redistribute it and/or modify it"); +// text.add("under the terms of the MIT License."); +// text.add(" "); +// text.add("See http://opensource.org/licenses/MIT"); +// text.add(" "); +// text.add("Permission is hereby granted, free of charge, to any person obtaining"); +// text.add("a copy of this software and associated documentation files (the \"Software\"),"); +// text.add("to deal in the Software without restriction, including without limitation"); +// text.add("the rights to use, copy, modify, merge, publish, distribute, sublicense,"); +// text.add("and/or sell copies of the Software, and to permit persons to whom the"); +// text.add("Software is furnished to do so, subject to the following conditions:"); +// text.add(" "); +// text.add("The above copyright notice and this permission notice shall be included"); +// text.add("in all copies or substantial portions of the Software."); +// text.add(" "); +// text.add("THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS"); +// text.add("OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,"); +// text.add("FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE"); +// text.add("AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,"); +// text.add("WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR"); +// text.add("IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."); +// } +// ::done - private void addApache(final LicenseInfo licenseInfo, final List text) { - text.add("PlantUML is free software; you can redistribute it and/or modify it"); - text.add("under the terms of the Apache Software License."); - text.add(" "); - text.add("Licensed under the Apache License, Version 2.0 (the \"License\");"); - text.add("you may not use this file except in compliance with the License."); - text.add("You may obtain a copy of the License at"); - text.add(" "); - text.add("http://www.apache.org/licenses/LICENSE-2.0"); - text.add(" "); - text.add("Unless required by applicable law or agreed to in writing, software"); - text.add("distributed under the License is distributed on an \"AS IS\" BASIS,"); - text.add("WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."); - text.add("See the License for the specific language governing permissions and"); - text.add("limitations under the License."); - text.add(" "); - addSupplementary(licenseInfo, text); - text.add("the Apache license."); - text.add(" "); - text.add("The generated images can then be used without any reference to the Apache license."); - text.add("It is not even necessary to stipulate that they have been generated with PlantUML,"); - text.add("although this will be appreciated by the PlantUML team."); - text.add(" "); - text.add("There is an exception : if the textual description in PlantUML language is also covered"); - text.add("by a license (like the Apache), then the generated images are logically covered"); - text.add("by the very same license."); - } +// ::uncomment when __EPL__ +// private void addEpl(final LicenseInfo licenseInfo, final List text) { +// text.add("PlantUML is free software; you can redistribute it and/or modify it"); +// text.add("under the terms of the Eclipse Public License."); +// text.add(" "); +// text.add("THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC"); +// text.add("LICENSE (\"AGREEMENT\"). [Eclipse Public License - v 1.0]"); +// text.add(" "); +// text.add("ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES"); +// text.add("RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT."); +// text.add(" "); +// text.add("You may obtain a copy of the License at"); +// text.add(" "); +// text.add("http://www.eclipse.org/legal/epl-v10.html"); +// text.add(" "); +// text.add("Unless required by applicable law or agreed to in writing, software"); +// text.add("distributed under the License is distributed on an \"AS IS\" BASIS,"); +// text.add("WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."); +// text.add("See the License for the specific language governing permissions and"); +// text.add("limitations under the License."); +// } +// ::done - private void addGpl(final LicenseInfo licenseInfo, final List text) { - text.add("PlantUML is free software; you can redistribute it and/or modify it"); - text.add("under the terms of the GNU General Public License as published by"); - text.add("the Free Software Foundation, either version 3 of the License, or"); - text.add("(at your option) any later version."); - text.add(" "); - text.add("PlantUML distributed in the hope that it will be useful, but"); - text.add("WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY"); - text.add("or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public"); - text.add("License for more details."); - text.add(" "); - text.add("You should have received a copy of the GNU General Public License"); - text.add("along with this library. If not, see ."); - text.add(" "); - addSupplementary(licenseInfo, text); - text.add("the GPL license."); - text.add(" "); - text.add("The generated images can then be used without any reference to the GPL license."); - text.add("It is not even necessary to stipulate that they have been generated with PlantUML,"); - text.add("although this will be appreciated by the PlantUML team."); - text.add(" "); - text.add("There is an exception : if the textual description in PlantUML language is also covered"); - text.add("by a license (like the GPL), then the generated images are logically covered"); - text.add("by the very same license."); - } +// ::uncomment when __BSD__ +// private void addBsd(final LicenseInfo licenseInfo, final List text) { +// text.add("PlantUML is free software; you can redistribute it and/or modify it"); +// text.add("under the terms of the Revised BSD License."); +// text.add(" "); +// text.add("All rights reserved."); +// text.add("Redistribution and use in source and binary forms, with or without"); +// text.add("modification, are permitted provided that the following conditions are met:"); +// text.add(" "); +// text.add("* Redistributions of source code must retain the above copyright"); +// text.add(" notice, this list of conditions and the following disclaimer."); +// text.add("* Redistributions in binary form must reproduce the above copyright"); +// text.add(" notice, this list of conditions and the following disclaimer in the"); +// text.add(" documentation and/or other materials provided with the distribution."); +// text.add("* Neither the name of the University of California, Berkeley nor the"); +// text.add(" names of its contributors may be used to endorse or promote products"); +// text.add(" derived from this software without specific prior written permission."); +// text.add(" "); +// text.add("THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY"); +// text.add("EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED"); +// text.add("WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE"); +// text.add("DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY"); +// text.add("DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES"); +// text.add("(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;"); +// text.add("LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND"); +// text.add("ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT"); +// text.add("(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS"); +// text.add("SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."); +// } +// ::done - private void addGplV2(final LicenseInfo licenseInfo, final List text) { - text.add("PlantUML is free software; you can redistribute it and/or modify it"); - text.add("under the terms of the GNU General Public License as published by"); - text.add("the Free Software Foundation, either version 2 of the License, or"); - text.add("(at your option) any later version."); - text.add(" "); - text.add("PlantUML distributed in the hope that it will be useful, but"); - text.add("WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY"); - text.add("or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public"); - text.add("License for more details."); - text.add(" "); - text.add("You should have received a copy of the GNU General Public License"); - text.add("along with this library. If not, see ."); - text.add(" "); - addSupplementary(licenseInfo, text); - text.add("the GPL license."); - text.add(" "); - text.add("The generated images can then be used without any reference to the GPL license."); - text.add("It is not even necessary to stipulate that they have been generated with PlantUML,"); - text.add("although this will be appreciated by the PlantUML team."); - text.add(" "); - text.add("There is an exception : if the textual description in PlantUML language is also covered"); - text.add("by a license (like the GPL), then the generated images are logically covered"); - text.add("by the very same license."); - } +// ::uncomment when __ASL__ +// private void addApache(final LicenseInfo licenseInfo, final List text) { +// text.add("PlantUML is free software; you can redistribute it and/or modify it"); +// text.add("under the terms of the Apache Software License."); +// text.add(" "); +// text.add("Licensed under the Apache License, Version 2.0 (the \"License\");"); +// text.add("you may not use this file except in compliance with the License."); +// text.add("You may obtain a copy of the License at"); +// text.add(" "); +// text.add("http://www.apache.org/licenses/LICENSE-2.0"); +// text.add(" "); +// text.add("Unless required by applicable law or agreed to in writing, software"); +// text.add("distributed under the License is distributed on an \"AS IS\" BASIS,"); +// text.add("WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."); +// text.add("See the License for the specific language governing permissions and"); +// text.add("limitations under the License."); +// } +// ::done - private void addLgpl(final LicenseInfo licenseInfo, final List text) { - text.add("PlantUML is free software; you can redistribute it and/or modify it"); - text.add("under the terms of the GNU Lesser General Public License as published by"); - text.add("the Free Software Foundation, either version 3 of the License, or"); - text.add("(at your option) any later version."); - text.add(" "); - text.add("PlantUML distributed in the hope that it will be useful, but"); - text.add("WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY"); - text.add("or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public"); - text.add("License for more details."); - text.add(" "); - text.add("You should have received a copy of the GNU Lesser General Public License"); - text.add("along with this library. If not, see ."); - text.add(" "); - addSupplementary(licenseInfo, text); - text.add("the LGPL license."); - text.add(" "); - text.add("The generated images can then be used without any reference to the LGPL license."); - text.add("It is not even necessary to stipulate that they have been generated with PlantUML,"); - text.add("although this will be appreciated by the PlantUML team."); - text.add(" "); - text.add("There is an exception : if the textual description in PlantUML language is also covered"); - text.add("by a license (like the LGPL), then the generated images are logically covered"); - text.add("by the very same license."); - } +// ::uncomment when __LGPL__ +// private void addLgpl(final LicenseInfo licenseInfo, final List text) { +// text.add("PlantUML is free software; you can redistribute it and/or modify it"); +// text.add("under the terms of the GNU Lesser General Public License as published by"); +// text.add("the Free Software Foundation, either version 3 of the License, or"); +// text.add("(at your option) any later version."); +// text.add(" "); +// text.add("PlantUML distributed in the hope that it will be useful, but"); +// text.add("WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY"); +// text.add("or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public"); +// text.add("License for more details."); +// text.add(" "); +// text.add("You should have received a copy of the GNU Lesser General Public License"); +// text.add("along with this library. If not, see ."); +// } +// ::done public static void addLicenseInfo(final List text, LicenseInfo licenseInfo) { if (licenseInfo.getLicenseType() == LicenseType.NAMED) { @@ -430,145 +392,4 @@ public enum License { } } - // ::comment when __MIT__ - public List getJavaHeader(List contributors) { - final List h = new ArrayList<>(); - h.add("/* ========================================================================"); - h.add(" * PlantUML : a free UML diagram generator"); - h.add(" * ========================================================================"); - h.add(" *"); - h.add(" * (C) Copyright 2009-2024, Arnaud Roques"); - h.add(" *"); - h.add(" * Project Info: https://plantuml.com"); - h.add(" * "); - h.add(" * If you like this project or if you find it useful, you can support us at:"); - h.add(" * "); - h.add(" * https://plantuml.com/patreon (only 1$ per month!)"); - h.add(" * https://plantuml.com/paypal"); - h.add(" * "); - h.add(" * This file is part of PlantUML."); - h.add(" *"); - if (this == License.LGPL) { - h.add(" * PlantUML is free software; you can redistribute it and/or modify it"); - h.add(" * under the terms of the GNU Lesser General Public License as published by"); - h.add(" * the Free Software Foundation, either version 3 of the License, or"); - h.add(" * (at your option) any later version."); - h.add(" *"); - h.add(" * PlantUML distributed in the hope that it will be useful, but"); - h.add(" * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY"); - h.add(" * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public"); - h.add(" * License for more details."); - h.add(" *"); - h.add(" * You should have received a copy of the GNU General Public License"); - h.add(" * along with this library. If not, see ."); - h.add(" *"); - } else if (this == License.GPLV2) { - h.add(" * PlantUML is free software; you can redistribute it and/or modify it"); - h.add(" * under the terms of the GNU General Public License as published by"); - h.add(" * the Free Software Foundation, either version 2 of the License, or"); - h.add(" * (at your option) any later version."); - h.add(" *"); - h.add(" * PlantUML distributed in the hope that it will be useful, but"); - h.add(" * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY"); - h.add(" * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public"); - h.add(" * License for more details."); - h.add(" *"); - h.add(" * You should have received a copy of the GNU General Public License"); - h.add(" * along with this library. If not, see ."); - h.add(" *"); - } else if (this == License.APACHE) { - h.add(" * Licensed under the Apache License, Version 2.0 (the \"License\");"); - h.add(" * you may not use this file except in compliance with the License."); - h.add(" * You may obtain a copy of the License at"); - h.add(" * "); - h.add(" * http://www.apache.org/licenses/LICENSE-2.0"); - h.add(" * "); - h.add(" * Unless required by applicable law or agreed to in writing, software"); - h.add(" * distributed under the License is distributed on an \"AS IS\" BASIS,"); - h.add(" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."); - h.add(" * See the License for the specific language governing permissions and"); - h.add(" * limitations under the License."); - h.add(" *"); - } else if (this == License.EPL) { - h.add(" * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC"); - h.add(" * LICENSE (\"AGREEMENT\"). [Eclipse Public License - v 1.0]"); - h.add(" * "); - h.add(" * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES"); - h.add(" * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT."); - h.add(" * "); - h.add(" * You may obtain a copy of the License at"); - h.add(" * "); - h.add(" * http://www.eclipse.org/legal/epl-v10.html"); - h.add(" * "); - h.add(" * Unless required by applicable law or agreed to in writing, software"); - h.add(" * distributed under the License is distributed on an \"AS IS\" BASIS,"); - h.add(" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."); - h.add(" * See the License for the specific language governing permissions and"); - h.add(" * limitations under the License."); - h.add(" * "); - } else if (this == License.BSD) { - h.add(" * Licensed under the Revised BSD License (the Revised Berkeley Software Distribution)"); - h.add(" * "); - h.add(" * Redistribution and use in source and binary forms, with or without"); - h.add(" * modification, are permitted provided that the following conditions are met:"); - h.add(" * "); - h.add(" * * Redistributions of source code must retain the above copyright"); - h.add(" * notice, this list of conditions and the following disclaimer."); - h.add(" * * Redistributions in binary form must reproduce the above copyright"); - h.add(" * notice, this list of conditions and the following disclaimer in the"); - h.add(" * documentation and/or other materials provided with the distribution."); - h.add(" * * Neither the name of the University of California, Berkeley nor the"); - h.add(" * names of its contributors may be used to endorse or promote products"); - h.add(" * derived from this software without specific prior written permission."); - h.add(" * "); - h.add(" * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY"); - h.add(" * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED"); - h.add(" * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE"); - h.add(" * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY"); - h.add(" * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES"); - h.add(" * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;"); - h.add(" * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND"); - h.add(" * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT"); - h.add(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS"); - h.add(" * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."); - h.add(" * "); - } else if (this == License.MIT) { - h.add(" * Licensed under The MIT License (Massachusetts Institute of Technology License)"); - h.add(" * "); - h.add(" * See http://opensource.org/licenses/MIT"); - h.add(" * "); - h.add(" * Permission is hereby granted, free of charge, to any person obtaining"); - h.add(" * a copy of this software and associated documentation files (the \"Software\"),"); - h.add(" * to deal in the Software without restriction, including without limitation"); - h.add(" * the rights to use, copy, modify, merge, publish, distribute, sublicense,"); - h.add(" * and/or sell copies of the Software, and to permit persons to whom the"); - h.add(" * Software is furnished to do so, subject to the following conditions:"); - h.add(" * "); - h.add(" * The above copyright notice and this permission notice shall be included"); - h.add(" * in all copies or substantial portions of the Software."); - h.add(" * "); - h.add(" * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS"); - h.add(" * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,"); - h.add(" * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE"); - h.add(" * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,"); - h.add(" * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR"); - h.add(" * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."); - h.add(" * "); - } - h.add(" *"); - h.add(" * Original Author: Arnaud Roques"); - h.addAll(contributors); - h.add(" */"); - return Collections.unmodifiableList(h); - } - // ::done - - public List getTextFull() { - final List text = new ArrayList<>(); - final LicenseInfo licenseInfo = LicenseInfo.retrieveQuick(); - header1(text, licenseInfo); - header2(text, licenseInfo, false); - end3(licenseInfo, text); - return text; - } } diff --git a/src/net/sourceforge/plantuml/version/Version.java b/src/net/sourceforge/plantuml/version/Version.java index ae1792e1c..4a29745ee 100644 --- a/src/net/sourceforge/plantuml/version/Version.java +++ b/src/net/sourceforge/plantuml/version/Version.java @@ -82,7 +82,7 @@ public class Version { } public static int beta() { - final int beta = 0; + final int beta = 1; return beta; } diff --git a/src/net/sourceforge/plantuml/webp/BoolDecoder.java b/src/net/sourceforge/plantuml/webp/BoolDecoder.java index 2a3b536c3..56979da54 100644 --- a/src/net/sourceforge/plantuml/webp/BoolDecoder.java +++ b/src/net/sourceforge/plantuml/webp/BoolDecoder.java @@ -22,7 +22,7 @@ import javax.imageio.stream.ImageInputStream; public class BoolDecoder { // ::remove folder when __HAXE__ // ::remove folder when __CORE__ - // ::remove folder when __MIT__ + // ::remove folder when __MIT__ or __EPL__ or __BSD__ or __ASL__ or __LGPL__ int bit_count; /* # of bits shifted out of value, at most 7 */ ImageInputStream data; private long offset; /* pointer to next compressed data byte */