codenameone
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone</artifactId>
<version>7.0.267</version>
</dependency><?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.codenameone</groupId>
<artifactId>codenameone</artifactId>
<version>7.0.267</version>
<packaging>pom</packaging>
<name>CodenameOne</name>
<description>Codename One aggregate project</description>
<url>https://www.codenameone.com</url>
<licenses>
<license>
<name>GPL v2 With Classpath Exception</name>
<url>https://openjdk.java.net/legal/gplv2+ce.html</url>
<distribution>repo</distribution>
<comments>A business-friendly OSS license</comments>
</license>
</licenses>
<developers>
<developer>
<id>shai</id>
<name>Shai Almog</name>
<email>shai.almog@codenameone.com</email>
<timezone>+4</timezone>
</developer>
<developer>
<id>chen</id>
<name>Chen Fishbein</name>
<email>chen.fishbein@codenameone.com</email>
<timezone>+4</timezone>
</developer>
<developer>
<id>shannah</id>
<name>Steve Hannah</name>
<email>steve.hannah@codenameone.com</email>
<timezone>-8</timezone>
</developer>
</developers>
<scm>
<url>https://github.com/codenameone/CodenameOne</url>
<connection>scm:git:git@github.com:codenameone/CodenameOne.git</connection>
</scm>
<properties>
<cn1.version>${project.version}</cn1.version>
<!--
The Resource Editor ("designer") is deprecated and frozen at its last
published release. It is still built from source, for local development and
so cn1:designer has something to run, but it and codenameone-javase-svg
(which exists only to give the editor Batik SVG support) are excluded from
publication - see <excludeArtifacts> on central-publishing-maven-plugin
below. Between them they were ~95MB of every ~213MB release, nearly all of
it shaded third-party bytes that never changed between versions.
CSS compilation, the one part of the editor that sat on every build's
critical path, moved to the thin codenameone-css-cli module.
The pinned version lives in ONE place: the cn1.designer.version @Parameter
default on AbstractCN1Mojo, which is what user projects resolve. Deliberately
not duplicated as a property here, so there is nothing for update-version.sh
to bump out of sync. maven/scripts/r2/seed-frozen-artifacts.sh reads it from
there rather than repeating it, and fails loudly if it cannot, so bumping the
pin cannot leave the seeding behind on an older version.
-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<java-tests.version>11</java-tests.version>
<jcefmaven.version>146.0.10</jcefmaven.version>
<jcef.version>jcef-d3de827+cef-146.0.10+g8219561+chromium-146.0.7680.179</jcef.version>
<ffmpeg.version>7.1-1.5.11</ffmpeg.version>
<rhino.version>1.7.11</rhino.version>
<maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
<cn1.binaries>${maven.multiModuleProjectDirectory}/target/cn1-binaries</cn1.binaries>
<jaxb.version>2.3.1</jaxb.version>
<cn1.build.client.path>${user.home}/.codenameone/CodeNameOneBuildClient.jar</cn1.build.client.path>
<junit.jupiter.version>5.9.3</junit.jupiter.version>
<junit.version>4.13.2</junit.version>
</properties>
<modules>
<!--<module>codenameone-maven-goals</module>-->
<module>cn1-binaries</module>
<module>platform-feature-catalog</module>
<module>java-runtime</module>
<module>core</module>
<module>factory</module>
<module>css-compiler</module>
<module>svg-transcoder</module>
<module>lottie-transcoder</module>
<module>sqlite-jdbc</module>
<module>javase</module>
<module>javase-svg</module>
<!-- Depends on javase (JavaSEPort/CN1Bootstrap for CEF rasterization),
so it has to come after it. -->
<module>css-cli</module>
<module>android</module>
<module>ios</module>
<module>windows</module>
<module>linux</module>
<module>parparvm</module>
<!-- The hardening engine builds before the plugin so the plugin's
generate-resources step can embed its shaded standalone jar as a
classpath resource. The engine is invoked as a forked process, never
on the plugin's classpath (it carries its own ProGuard/ASM). -->
<module>cn1-hardening</module>
<module>designer</module>
<module>codenameone-maven-plugin</module>
<module>cn1app-archetype</module>
<module>cn1lib-archetype</module>
<module>cn1-debug-proxy</module>
<module>cn1-retrace</module>
<module>cn1-ai-whisper</module>
<module>cn1-ai-stablediffusion</module>
<module>cn1-admob</module>
<module>cn1-applovin</module>
<module>cn1-unity-levelplay</module>
<module>cn1-ads-mock</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.jupiter.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>cn1-binaries-javase</artifactId>
<version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-javase-svg</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>me.friwi</groupId>
<artifactId>jcefmaven</artifactId>
<version>${jcefmaven.version}</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg-platform</artifactId>
<version>${ffmpeg.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-css-compiler</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-css-cli</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-svg-transcoder</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-lottie-transcoder</artifactId>
<version>${project.version}</version>
</dependency>
<!--
This used to be pinned to the last published build and excluded from
publication, because a shade of a fixed upstream driver never changed and
was 13.5MB of every release. That assumption no longer holds: the shaded
driver now carries the SQLite engine the simulator uses to read encrypted
databases, so it moves whenever we take a SQLite update - which, for a
crypto-carrying dependency, we want to be able to do promptly.
Tracking ${project.version} again means a released codenameone-javase always
points at a coordinate that was actually uploaded, and a local build resolves
the module from the reactor instead of an older artifact from Central.
-->
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-designer</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-resources-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-resources-android</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-android</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-ios</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-parparvm</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-designer</artifactId>
<version>${project.version}</version>
<classifier>jar-with-dependencies</classifier>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-ios</artifactId>
<version>${project.version}</version>
<classifier>bundle</classifier>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-parparvm</artifactId>
<version>${project.version}</version>
<classifier>bundle</classifier>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>cn1-builder-resources-common</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>cn1-builder-resources-android</artifactId>
<version>7.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javassist/javassist -->
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.1.GA</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.ow2.asm/asm -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>9.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.ow2.asm/asm-util -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-util</artifactId>
<version>9.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.ow2.asm/asm-commons -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>9.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-vfs2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-vfs2</artifactId>
<version>2.10.0</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-factory</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-api</artifactId>
<version>3.0.0-M5</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.10.11</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-javase</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>java-runtime</artifactId>
<version>${project.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.codehaus.mojo/exec-maven-plugin -->
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.twdata.maven</groupId>
<artifactId>mojo-executor</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<version>3.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io
Managed to 2.20.0 because JCEF Maven 146's commons-compress
1.28.0 requires it to extract the native bundle; a reactor
module (e.g. the javase-cef-ffmpeg-smoke app) that pulls
codenameone-javase would otherwise have commons-io forced back
to an older managed version and throw IllegalAccessError. Keep
in sync with the commons-io pin in maven/javase/pom.xml. -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.20.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>com.guardsquare</groupId>
<artifactId>proguard-base</artifactId>
<!-- 7.3.2 is the last ProGuard line that still runs on Java 8 (proguard-core
9.0.8, class files at major 52); 7.4+ raised the floor to JDK 11. The
app-hardening engine pins this again in maven/cn1-hardening/pom.xml. -->
<version>7.3.2</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl -->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-core -->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
<version>${junit.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>build-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
<phase>post-integration-test</phase>
<configuration>
<quiet>true</quiet>
</configuration>
</execution>
</executions>
<configuration>
<source>1.8</source>
<show>protected</show>
<failOnError>false</failOnError>
<doclint>none</doclint>
<top><![CDATA[
<script src="{@docRoot}/script-files/highlight.min.js"></script>
<script src="{@docRoot}/script-files/javadoc-highlight-init.js"></script>
]]></top>
<!-- The syntax-highlight options (add-stylesheet / add-script) are
intentionally NOT here: they only exist in recent javadoc tools (JDK 8
rejects add-stylesheet, JDK 11 rejects add-script), so they break every
JDK 8/11 `mvn install` that builds the per-module javadoc jar. The
published website javadocs apply that highlighting separately via
.github/scripts/build_javadocs.sh, which runs javadoc directly on a JDK
new enough to accept the flags. -->
<additionalOptions>
<additionalOption>--allow-script-in-comments</additionalOption>
</additionalOptions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>post-integration-test</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<!-- Pinned uniformly to 3.2.5 so the JUnit Jupiter
discovery and the `surefire.failIfNoSpecifiedTests`
flag are available everywhere. (PR #4929 pinned
codenameone-javase to 3.2.5 in isolation, which
caused designer.yml to fail when `-Dtest=...` is
forwarded into a module without matching tests
because the old `failIfNoTests` flag is silently
ignored by 3.x.) -->
<version>3.2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<doclint>none</doclint>
<failOnError>false</failOnError>
<top><![CDATA[
<script src="{@docRoot}/script-files/highlight.min.js"></script>
<script src="{@docRoot}/script-files/javadoc-highlight-init.js"></script>
]]></top>
<!-- add-stylesheet/add-script intentionally omitted; see the note in
pluginManagement above (the website docs apply them via build_javadocs.sh). -->
<additionalOptions>
<additionalOption>--allow-script-in-comments</additionalOption>
</additionalOptions>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
<!--
Artifacts that are still built and installed locally but are no
longer published. This plugin runs with extensions=true, which
clears maven-deploy-plugin's executions and takes over the deploy
phase, so the per-module <maven.deploy.skip> properties are NOT
enough on their own: PublishMojo filters purely on
excludeArtifacts.contains(artifact.getArtifactId()). The module
properties are kept for the plain maven-deploy-plugin path.
Matching is on the bare artifactId, not groupId:artifactId.
-->
<excludeArtifacts>
<!-- Deprecated Resource Editor, frozen at ${cn1.designer.version}. -->
<excludeArtifact>codenameone-designer</excludeArtifact>
<!-- Exists only to give the editor Batik SVG support. -->
<excludeArtifact>codenameone-javase-svg</excludeArtifact>
</excludeArtifacts>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>sign-artifacts</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<passphrase>${gpg.passphrase}</passphrase>
</configuration>
</execution>
</executions>
<configuration>
<!-- Prevent gpg from using pinentry programs -->
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>download-cn1-binaries</id>
<activation>
<file><missing>${cn1.binaries}</missing></file>
<property>
<name>!unitTests</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>download-cn1-binaries</id>
<phase>initialize</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<mkdir dir="${maven.multiModuleProjectDirectory}/target"/>
<exec executable="git" dir="${maven.multiModuleProjectDirectory}/target">
<arg value="clone"/>
<arg value="https://github.com/codenameone/cn1-binaries"/>
</exec>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>add-client-dependency</id>
<activation>
<file>
<missing>${basedir}/../../BuildClient</missing>
</file>
</activation>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.codenameone</groupId>
<artifactId>codenameone-buildclient</artifactId>
<version>8.0</version><!-- Dummy version to avoid build errors that demand a version -->
<scope>system</scope>
<systemPath>${user.home}/.codenameone/CodeNameOneBuildClient.jar</systemPath>
</dependency>
</dependencies>
</dependencyManagement>
</profile>
<profile>
<id>tests</id>
<modules>
<module>tests</module>
</modules>
</profile>
<profile>
<id>install-cn1</id>
<activation>
<file>
<missing>${user.home}/.codenameone/CodeNameOneBuildClient.jar</missing>
</file>
<property>
<name>!unitTests</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>run</goal>
</goals>
<id>install-cn1</id>
<configuration>
<target>
<mkdir dir="${user.home}/.codenameone"/>
<mkdir dir="${project.build.directory}/generated-sources/project" />
<mkdir dir="${project.build.directory}/generated-sources/project/lib" />
<get src="https://www.codenameone.com/files/updates/UpdateCodenameOne.jar"
dest="${user.home}/UpdateCodenameOne.jar"
skipexisting="true"
ignoreerrors="true"/>
<get src="https://github.com/codenameone/CodenameOne/raw/refs/heads/master/maven/UpdateCodenameOne.jar"
dest="${user.home}/UpdateCodenameOne.jar"
skipexisting="true"
ignoreerrors="false"/>
<java fork="true" jar="${user.home}/.codenameone/UpdateCodenameOne.jar">
<arg value="${project.build.directory}/generated-sources/project"/>
<arg value="force" />
</java>
<copy file="${maven.multiModuleProjectDirectory}/CodeNameOneBuildClient.jar"
tofile="${user.home}/.codenameone/CodeNameOneBuildClient.jar"
overwrite="true"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>unittests</id>
<activation>
<property>
<name>unitTests</name>
</property>
</activation>
<modules>
<module>core-unittests</module>
</modules>
</profile>
<!--
The errorprone-checks module builds the custom BugCheckers that
ban patterns we never want in framework code (currently
Class.forName). Error Prone requires JDK 11+, so this module is
skipped on the primary JDK 8 build and is opt-in via the
`errorprone` profile (which also wires the checker into core).
CI runs the check via `mvn -Perrorprone install` on a JDK 17 job.
-->
<profile>
<id>errorprone</id>
<modules>
<module>errorprone-checks</module>
</modules>
</profile>
<!-- The Game Builder editor is published to Maven Central by the release
workflow as a separate Java-17 pass over scripts/gamebuilder (its
gamebuilder-central profile), not from this reactor: it is a CN1 app
that depends on the core/javase/plugin built here and compiles at
Java 17, while this reactor builds at Java 8. See
.github/workflows/release-on-maven-central.yml and
scripts/gamebuilder/pom.xml. -->
</profiles>
</project>