gbfs-java-model
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.entur.gbfs</groupId>
<artifactId>gbfs-java-model</artifactId>
<version>3.1.5</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<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>org.entur.gbfs</groupId>
<artifactId>gbfs-java-model</artifactId>
<version>3.1.5</version>
<name>gbfs-java-model</name>
<description>Generates Java model from GBFS JSON schema using jsonschema2pojo.</description>
<url>https://github.com/entur/gbfs-java-model</url>
<organization>
<name>Entur AS</name>
<url>http://www.entur.org/</url>
</organization>
<licenses>
<license>
<name>EUPL-1.2 with modifications</name>
<url>https://joinup.ec.europa.eu/software/page/eupl</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<name>Tom Erik Støwer</name>
<email>tom.erik.stower@entur.org</email>
<organization>Entur</organization>
<organizationUrl>http://www.entur.org</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:ssh://git@github.com/entur/gbfs-java-model.git</connection>
<developerConnection>scm:git:ssh://git@github.com/entur/gbfs-java-model.git</developerConnection>
<url>https://github.com/entur/gbfs-java-model/tree/master</url>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<snapshotRepository>
<id>snapshots</id>
<name>entur2-snapshots</name>
<url>https://entur2.jfrog.io/entur2/libs-snapshot-local</url>
</snapshotRepository>
<relocation>
<groupId>org.mobilitydata</groupId>
<version>1.0.6</version>
</relocation>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jdk.version>17</jdk.version>
<gbfsGithubUrl>https://github.com/entur/gbfs-json-schema/archive/refs/tags/v3.0.zip</gbfsGithubUrl>
<schemaVersion>3.0</schemaVersion>
<jsonschema2pojo-maven-plugin.version>1.2.1</jsonschema2pojo-maven-plugin.version>
<jackson-databind.version>2.17.1</jackson-databind.version>
<geojson-jackson.version>1.14</geojson-jackson.version>
<jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
<nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>
<maven-exec-plugin.version>1.6.0</maven-exec-plugin.version>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
<maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version>
<maven-source-plugin.version>3.3.1</maven-source-plugin.version>
<maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
<maven-release-plugin.version>2.5.3</maven-release-plugin.version>
<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
<maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
<maven-jar-plugin.version>3.4.1</maven-jar-plugin.version>
<maven-clean-plugin.version>3.3.2</maven-clean-plugin.version>
<maven-install-plugin.version>2.5.2</maven-install-plugin.version>
<maven-site-plugin.version>3.12.1</maven-site-plugin.version>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
<maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
<wagon-ssh-external.version>2.12</wagon-ssh-external.version>
<plexus-compiler-javac.version>2.15.0</plexus-compiler-javac.version>
<versions-maven-plugin.version>2.16.2</versions-maven-plugin.version>
<dependency-check-maven.version>5.3.2</dependency-check-maven.version>
<maven-scm-provider-gitexe.version>1.13.0</maven-scm-provider-gitexe.version>
<maven-scm-api.version>1.13.0</maven-scm-api.version>
<gitflow-maven-plugin.version>1.21.0</gitflow-maven-plugin.version>
<!-- empty argLine property, the value is set up by Jacoco during unit tests execution -->
<argLine />
<!-- Unit test frameworks versions -->
<assertj.core.version>3.26.0</assertj.core.version>
<junit.version>5.10.2</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson-databind.version}</version>
</dependency>
<dependency>
<groupId>de.grundid.opendatalab</groupId>
<artifactId>geojson-jackson</artifactId>
<version>${geojson-jackson.version}</version>
</dependency>
<!-- Test dependencies -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj.core.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<extensions>
<!-- maven3 will need wagon-ssh extension in order to be able to release,
Using external variant in order to retain keys, etc -->
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
<version>${wagon-ssh-external.version}</version>
</extension>
</extensions>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>${maven-install-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>${maven-site-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${maven-exec-plugin.version}</version>
<executions>
<execution>
<id>download-extract-current-version</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<environmentVariables>
<GITHUB_URL>${gbfsGithubUrl}</GITHUB_URL>
<SCHEMA_VERSION>${schemaVersion}</SCHEMA_VERSION>
<DESTINATION_PATH>src/main/resources/schema</DESTINATION_PATH>
</environmentVariables>
<executable>./bin/gbfs-download-extract.sh</executable>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jsonschema2pojo</groupId>
<artifactId>jsonschema2pojo-maven-plugin</artifactId>
<version>${jsonschema2pojo-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.entur.gbfs</groupId>
<artifactId>rule-factory</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>generate-v2.2-sources</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<classNamePrefix>GBFS</classNamePrefix>
<formatTypeMapping>
<uri>java.lang.String</uri>
</formatTypeMapping>
<removeOldOutput>false</removeOldOutput>
<serializable>true</serializable>
<initializeCollections>false</initializeCollections>
<generateBuilders>true</generateBuilders>
<sourceDirectory>${basedir}/src/main/resources/schema/v2.2</sourceDirectory>
<targetPackage>org.entur.gbfs.v2_2</targetPackage>
<customRuleFactory>org.entur.gbfs.GeofencingRuleFactory</customRuleFactory>
</configuration>
</execution>
<execution>
<id>generate-v2.3-sources</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<classNamePrefix>GBFS</classNamePrefix>
<formatTypeMapping>
<uri>java.lang.String</uri>
</formatTypeMapping>
<removeOldOutput>false</removeOldOutput>
<serializable>true</serializable>
<initializeCollections>false</initializeCollections>
<generateBuilders>true</generateBuilders>
<sourceDirectory>${basedir}/src/main/resources/schema/v2.3</sourceDirectory>
<targetPackage>org.entur.gbfs.v2_3</targetPackage>
<customRuleFactory>org.entur.gbfs.GeofencingRuleFactory</customRuleFactory>
</configuration>
</execution>
<execution>
<id>generate-v3.0-sources</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<classNamePrefix>GBFS</classNamePrefix>
<formatTypeMapping>
<uri>java.lang.String</uri>
</formatTypeMapping>
<removeOldOutput>false</removeOldOutput>
<serializable>true</serializable>
<initializeCollections>false</initializeCollections>
<generateBuilders>true</generateBuilders>
<sourceDirectory>${basedir}/src/main/resources/schema/v3.0</sourceDirectory>
<targetPackage>org.entur.gbfs.v3_0</targetPackage>
<customRuleFactory>org.entur.gbfs.GeofencingRuleFactory</customRuleFactory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<encoding>UTF-8</encoding>
<compilerArgs>
<!--arg>-Werror</arg-->
<arg>-Xlint:all</arg>
</compilerArgs>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-javac</artifactId>
<version>${plexus-compiler-javac.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>${jdk.version}</version>
</requireJavaVersion>
<requirePluginVersions />
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules />
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>${dependency-check-maven.version}</version>
</plugin>
<plugin>
<groupId>com.amashchenko.maven.plugin</groupId>
<artifactId>gitflow-maven-plugin</artifactId>
<version>${gitflow-maven-plugin.version}</version>
<configuration>
<allowSnapshots>false</allowSnapshots>
<verbose>true</verbose>
<commitMessagePrefix>[ci skip]</commitMessagePrefix>
<gitFlowConfig>
<developmentBranch>master</developmentBranch>
</gitFlowConfig>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>${nexus-staging-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<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>${maven-javadoc-plugin.version}</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>release</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<distributionManagement>
<repository>
<id>ossrh</id>
<name>Sonatype release</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg-plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<goals>
<goal>sign</goal>
</goals>
<phase>verify</phase>
<configuration>
<passphrase>${env.SONATYPE_GPG_KEY_PASSWORD}</passphrase>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<!-- Set this to true and the release will automatically proceed and sync to Central Repository will follow -->
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>