-
Notifications
You must be signed in to change notification settings - Fork 11
/
pom.xml
125 lines (112 loc) · 5.16 KB
/
pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?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">
<parent>
<artifactId>quickbuf-parent</artifactId>
<groupId>us.hebi.quickbuf</groupId>
<version>1.4.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>conformance</artifactId>
<properties>
<javaModuleName>us.hebi.quickbuf.conformance</javaModuleName>
<mainClass>${javaModuleName}.ConformanceQuickbuf</mainClass>
<license.skipUpdateLicense>true</license.skipUpdateLicense>
<maven.deploy.skip>true</maven.deploy.skip>
<skipNexusStagingDeployMojo>${maven.deploy.skip}</skipNexusStagingDeployMojo>
</properties>
<dependencies>
<dependency>
<groupId>us.hebi.quickbuf</groupId>
<artifactId>quickbuf-runtime</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<!-- enable if we need ground truth for conformance tests -->
<!--
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
</dependency> -->
</dependencies>
<build>
<plugins>
<!-- Create uber-jar that we can call as an executable -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
</plugin>
<!-- Create wrapper scripts -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
</plugin>
<!-- Downloads protoc w/ plugin and generates messages -->
<!-- Default settings expect .proto files to be in src/main/protobuf -->
<plugin>
<groupId>com.github.os72</groupId>
<artifactId>protoc-jar-maven-plugin</artifactId>
<version>${protoc.jar.version}</version>
<configuration>
<protocVersion>${protobuf.version}</protocVersion>
</configuration>
<executions>
<!-- Message generation -->
<execution>
<id>generate-quickbuf</id>
<phase>generate-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<inputDirectories>
<dir>src/main/proto3</dir> <!-- Data about the conformance test -->
<dir>src/main/proto2</dir> <!-- The actual payload of the test -->
</inputDirectories>
<addSources>main</addSources>
<outputTargets>
<outputTarget>
<type>quickbuf</type>
<!-- Plugin path must be absolute with the full name -->
<pluginPath>${protoc.quickbufPlugin}</pluginPath> <!-- <pluginArtifact>us.hebi.quickbuf:protoc-gen-quickbuf:${quickbuf.version}</pluginArtifact>-->
<outputOptions>replace_package=protobuf=quickbuf,indent=4,input_order=number,output_order=number,store_unknown_fields=true,extensions=embedded,allocation=lazy</outputOptions>
<outputDirectory>target/generated-sources/annotations/</outputDirectory>
</outputTarget>
<!-- enable to get ground truth -->
<!-- <outputTarget>
<type>java</type>
<outputDirectory>target/generated-sources/annotations/</outputDirectory>
</outputTarget>-->
</outputTargets>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>makeNative</id>
<build>
<plugins>
<!-- Compile the uber-jar as a native image -->
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<configuration>
<imageName>ConformanceQuickbuf${native.extension}</imageName>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>