<!-- Generates immutable implementations, builders, the works -->
<groupId>org.immutables</groupId>
<artifactId>value</artifactId>
+ <classifier>annotations</classifier>
+ <!-- Keep this version in sync with annotationProcessorPaths declaration below -->
<version>2.7.5</version>
<!-- Must be provided; scope=test here breaks APT in Eclipse :( -->
<scope>provided</scope>
</dependency>
+ <dependency>
+ <!-- Same as above, except using legacy unified artifact -->
+ <!-- FIXME: ODLPARENT-217: remove this declaration -->
+ <groupId>org.immutables</groupId>
+ <artifactId>value</artifactId>
+ <!-- Keep this version in sync with annotationProcessorPaths declaration below -->
+ <version>2.7.5</version>
+ <!-- Must be provided; scope=test here breaks APT in Eclipse :( -->
+ <scope>provided</scope>
+ </dependency>
+
<dependency>
<!-- Generates META-INF/services entries for ServiceLoader -->
<groupId>org.kohsuke.metainf-services</groupId>
<arg>-Xlint:deprecation</arg>
<arg>-Xlint:unchecked</arg>
</compilerArgs>
+ <annotationProcessorPaths>
+ <dependency>
+ <groupId>org.immutables</groupId>
+ <artifactId>value</artifactId>
+ <!-- Keep this version in sync with dependency declaration above -->
+ <version>2.7.5</version>
+ </dependency>
+ </annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<!-- Self-tests -->
<module>odlparent-bundle-check</module>
<module>odlparent-dependency-check</module>
+ <module>tests</module>
<!-- Third-party stuff -->
<module>third-party</module>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vi: set et smarttab sw=4 tabstop=4: -->
+<!--
+Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<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>
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>odlparent</artifactId>
+ <version>6.0.2-SNAPSHOT</version>
+ <relativePath>../../odlparent</relativePath>
+ </parent>
+
+ <artifactId>immutables-jpms</artifactId>
+ <packaging>jar</packaging>
+
+ <properties>
+ <maven.deploy.skip>true</maven.deploy.skip>
+ <maven.install.skip>true</maven.install.skip>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.immutables</groupId>
+ <artifactId>value</artifactId>
+ <classifier>annotations</classifier>
+ </dependency>
+ </dependencies>
+</project>
--- /dev/null
+/*
+ * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+module org.opendaylight.odlparent.test.immutables.jpms {
+ exports org.opendaylight.odlparent.test.immutables.jpms;
+
+ requires static com.github.spotbugs.annotations;
+ requires static org.immutables.value.annotations;
+}
--- /dev/null
+/*
+ * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.odlparent.test.immutables.jpms;
+
+import org.immutables.value.Value.Immutable;
+
+@Immutable
+public interface JpmsInterface {
+
+ int getFoo();
+}
--- /dev/null
+/*
+ * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.odlparent.test.immutables.jpms;
+
+import static org.hamcrest.Matchers.isA;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
+
+public class JmpsInterfaceTest {
+ @Test
+ public void testBuilder() {
+ assertThat(ImmutableJpmsInterface.builder().foo(1).build(), isA(JpmsInterface.class));
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vi: set et smarttab sw=4 tabstop=4: -->
+<!--
+Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<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>
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>odlparent</artifactId>
+ <version>6.0.2-SNAPSHOT</version>
+ <relativePath>../../odlparent</relativePath>
+ </parent>
+
+ <artifactId>immutables-plain</artifactId>
+ <packaging>jar</packaging>
+
+ <properties>
+ <maven.deploy.skip>true</maven.deploy.skip>
+ <maven.install.skip>true</maven.install.skip>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.immutables</groupId>
+ <artifactId>value</artifactId>
+ <classifier>annotations</classifier>
+ </dependency>
+ </dependencies>
+</project>
--- /dev/null
+/*
+ * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.odlparent.test.immutables.plain;
+
+import org.immutables.value.Value.Immutable;
+
+@Immutable
+public interface PlainInterface {
+
+ int getBar();
+}
--- /dev/null
+/*
+ * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.odlparent.test.immutables.plain;
+
+import static org.hamcrest.Matchers.isA;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
+
+public class PlainInterfaceTest {
+ @Test
+ public void testBuilder() {
+ assertThat(ImmutablePlainInterface.builder().bar(1).build(), isA(PlainInterface.class));
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright © 2019 PANTHEON.tech, s.r.o. and others. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+ -->
+<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>
+
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>odlparent-lite</artifactId>
+ <version>6.0.2-SNAPSHOT</version>
+ <relativePath>../odlparent-lite</relativePath>
+ </parent>
+
+ <artifactId>tests-aggregator</artifactId>
+ <packaging>pom</packaging>
+ <name>ODL :: odlparent :: ${project.artifactId}</name>
+
+ <properties>
+ <maven.deploy.skip>true</maven.deploy.skip>
+ <maven.install.skip>true</maven.install.skip>
+ </properties>
+
+ <modules>
+ <module>immutables-jpms</module>
+ <module>immutables-plain</module>
+ </modules>
+</project>