Skip to content

Commit 8d3cd94

Browse files
committed
#41 added auto-test for Gradle 6 7 8
1 parent eed7f88 commit 8d3cd94

32 files changed

+1151
-43
lines changed

.gitignore

+8-43
Original file line numberDiff line numberDiff line change
@@ -19,46 +19,11 @@
1919
/jbbp-plugins/jbbp-gradle/gradle/wrapper/
2020
/jbbp-plugins/jbbp-gradle/gradlew
2121
/jbbp-plugins/jbbp-gradle/gradlew.bat
22-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/com/igormaznitsa/mvn/test/jbbp/GenAnnotations$SOME1$SOME2.class
23-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/com/igormaznitsa/mvn/test/jbbp/GenAnnotations$SOME1.class
24-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/com/igormaznitsa/mvn/test/jbbp/GenAnnotations.class
25-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/com/igormaznitsa/mvn/test/jbbp/GenAnnotationsNonStatic$SOME1$SOME2.class
26-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/com/igormaznitsa/mvn/test/jbbp/GenAnnotationsNonStatic$SOME1.class
27-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/com/igormaznitsa/mvn/test/jbbp/GenAnnotationsNonStatic.class
28-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/com/igormaznitsa/mvn/test/jbbp/VarCustom.class
29-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/com/igormaznitsa/mvn/test/jbbp/WholeStreamByteArray.class
30-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/com/igormaznitsa/mvn/tst/VarCustomImpl.class
31-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/main/org/example/Main.class
32-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/classes/java/test/org/example/MainTest.class
33-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/generated-jbbp-dir/com/igormaznitsa/mvn/test/jbbp/GenAnnotations.java
34-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/generated-jbbp-dir/com/igormaznitsa/mvn/test/jbbp/GenAnnotationsNonStatic.java
35-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/generated-jbbp-dir/com/igormaznitsa/mvn/test/jbbp/VarCustom.java
36-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/generated-jbbp-dir/com/igormaznitsa/mvn/test/jbbp/WholeStreamByteArray.java
37-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/reports/tests/test/classes/org.example.MainTest.html
38-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/reports/tests/test/css/base-style.css
39-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/reports/tests/test/css/style.css
40-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/reports/tests/test/js/report.js
41-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/reports/tests/test/packages/org.example.html
42-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/reports/tests/test/index.html
43-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/test-results/test/binary/output.bin
44-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/test-results/test/binary/output.bin.idx
45-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/test-results/test/binary/results.bin
46-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/test-results/test/TEST-org.example.MainTest.xml
47-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/executionHistory/executionHistory.bin
48-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/executionHistory/executionHistory.lock
49-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/fileChanges/last-build.bin
50-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/fileContent/fileContent.lock
51-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/fileHashes/fileHashes.bin
52-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/fileHashes/fileHashes.lock
53-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/fileHashes/resourceHashesCache.bin
54-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/javaCompile/classAnalysis.bin
55-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/javaCompile/jarAnalysis.bin
56-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/javaCompile/javaCompile.lock
57-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/javaCompile/taskHistory.bin
58-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/5.6.4/gc.properties
59-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/buildOutputCleanup/buildOutputCleanup.lock
60-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/buildOutputCleanup/cache.properties
61-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/buildOutputCleanup/outputFiles.bin
62-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/vcs-1/gc.properties
63-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/workspace-id.txt
64-
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/workspace-id.txt.lock
22+
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/build/
23+
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle5-plugin-test/.gradle/
24+
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle6-plugin-test/.gradle/
25+
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle6-plugin-test/build/
26+
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle7-plugin-test/.gradle/
27+
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle7-plugin-test/build/
28+
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle8-plugin-test/.gradle/
29+
/jbbp-plugins/jbbp-gradle-tests/jbbp-gradle8-plugin-test/build/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
plugins {
2+
id 'java'
3+
id 'com.igormaznitsa.gradle.jbbp' version "${jbbp_plugin_version}"
4+
}
5+
6+
group = 'com.igormaznitsa.jbbp.gradle.test'
7+
version = '0.0.0-SNAPSHOT'
8+
9+
repositories {
10+
mavenLocal()
11+
mavenCentral()
12+
}
13+
14+
dependencies {
15+
implementation "com.igormaznitsa:jbbp:${jbbp_plugin_version}"
16+
testImplementation platform('org.junit:junit-bom:5.9.1')
17+
testImplementation 'org.junit.jupiter:junit-jupiter'
18+
}
19+
20+
test {
21+
useJUnitPlatform()
22+
}
23+
24+
import com.igormaznitsa.jbbp.plugin.common.converters.ParserFlags
25+
26+
jbbp {
27+
headComment = 'Free license'
28+
addBinAnnotations = true
29+
addGettersSetters = true
30+
customTypes = ['some']
31+
interfaces = ['java.lang.Runnable']
32+
customText = 'public void run () {}'
33+
parserFlags = [ParserFlags.SKIP_REMAINING_FIELDS_IF_EOF]
34+
}
35+
36+
compileJava.dependsOn(jbbpGenerate)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<parent>
7+
<groupId>com.igormaznitsa</groupId>
8+
<artifactId>jbbp-gradle-tests</artifactId>
9+
<version>0.0.0-SNAPSHOT</version>
10+
</parent>
11+
12+
<artifactId>jbbp-gradle6-plugin-test</artifactId>
13+
<packaging>pom</packaging>
14+
15+
<properties>
16+
<gradle.executable>gradle6</gradle.executable>
17+
</properties>
18+
19+
<build>
20+
<plugins>
21+
<plugin>
22+
<artifactId>maven-clean-plugin</artifactId>
23+
<configuration>
24+
<filesets>
25+
<fileset>
26+
<directory>${project.basedir}/gradle</directory>
27+
<followSymlinks>false</followSymlinks>
28+
</fileset>
29+
<fileset>
30+
<directory>${project.basedir}</directory>
31+
<includes>
32+
<include>gradlew</include>
33+
<include>gradlew.bat</include>
34+
</includes>
35+
<followSymlinks>false</followSymlinks>
36+
</fileset>
37+
<fileset>
38+
<directory>${project.basedir}/downloaded</directory>
39+
<followSymlinks>false</followSymlinks>
40+
</fileset>
41+
<fileset>
42+
<directory>${project.basedir}/build</directory>
43+
<followSymlinks>false</followSymlinks>
44+
</fileset>
45+
<fileset>
46+
<directory>${project.basedir}/out</directory>
47+
<followSymlinks>false</followSymlinks>
48+
</fileset>
49+
</filesets>
50+
</configuration>
51+
</plugin>
52+
<plugin>
53+
<groupId>org.codehaus.mojo</groupId>
54+
<artifactId>exec-maven-plugin</artifactId>
55+
<version>3.1.0</version>
56+
<executions>
57+
<execution>
58+
<id>gradle</id>
59+
<phase>compile</phase>
60+
<configuration>
61+
<executable>${gradle.executable}</executable>
62+
<arguments>
63+
<argument>clean</argument>
64+
<argument>test</argument>
65+
<argument>--info</argument>
66+
<argument>--scan</argument>
67+
<argument>--no-daemon</argument>
68+
<argument>-Pjbbp_plugin_version=${jbbp.test.version}</argument>
69+
</arguments>
70+
</configuration>
71+
<goals>
72+
<goal>exec</goal>
73+
</goals>
74+
</execution>
75+
</executions>
76+
</plugin>
77+
</plugins>
78+
</build>
79+
80+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
pluginManagement {
2+
repositories {
3+
gradlePluginPortal()
4+
mavenLocal()
5+
}
6+
}
7+
8+
rootProject.name = 'jbbp-gradle6-plugin-test'
9+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
ubyte len;
2+
uint uintField;
3+
uint [1] uintArr;
4+
some1 {
5+
bit:4 [len] someField;
6+
ubyte len;
7+
some2 {
8+
byte [len] field;
9+
}
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
ubyte len;
2+
some1 {
3+
bit:4 [len] someField;
4+
ubyte len;
5+
some2 {
6+
byte [len] field;
7+
}
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// custom and var fields
2+
byte bytea;
3+
some field1;
4+
<some field2;
5+
some [23+44] arr1;
6+
<some [8<<3] arr2;
7+
var vfield1;
8+
<var vfield2;
9+
var [(89+4)*bytea] varr1;
10+
byte [bytea*3] byteb;
11+
<var [_] varr2;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// some easy JBBP script to test
2+
byte [_] array;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
package com.igormaznitsa.mvn.tst;
2+
3+
import com.igormaznitsa.jbbp.compiler.JBBPNamedFieldInfo;
4+
import com.igormaznitsa.jbbp.compiler.tokenizer.JBBPFieldTypeParameterContainer;
5+
import com.igormaznitsa.jbbp.io.JBBPBitInputStream;
6+
import com.igormaznitsa.jbbp.io.JBBPBitOutputStream;
7+
import com.igormaznitsa.jbbp.io.JBBPByteOrder;
8+
import com.igormaznitsa.jbbp.model.JBBPAbstractArrayField;
9+
import com.igormaznitsa.jbbp.model.JBBPAbstractField;
10+
import com.igormaznitsa.jbbp.model.JBBPFieldArrayLong;
11+
import com.igormaznitsa.jbbp.model.JBBPFieldLong;
12+
import com.igormaznitsa.jbbp.model.JBBPFieldShort;
13+
import com.igormaznitsa.mvn.test.jbbp.VarCustom;
14+
import java.io.IOException;
15+
public class VarCustomImpl extends VarCustom {
16+
17+
@Override
18+
public JBBPAbstractField readCustomFieldType(Object sourceStruct, JBBPBitInputStream inStream,
19+
JBBPFieldTypeParameterContainer typeParameterContainer,
20+
JBBPNamedFieldInfo nullableNamedFieldInfo,
21+
int extraValue, boolean readWholeStream,
22+
int arraySize) throws IOException {
23+
return new JBBPFieldShort(nullableNamedFieldInfo,
24+
(short) inStream.readUnsignedShort(typeParameterContainer.getByteOrder()));
25+
}
26+
27+
@Override
28+
public void writeCustomFieldType(Object sourceStruct, JBBPBitOutputStream outStream,
29+
JBBPAbstractField fieldValue,
30+
JBBPFieldTypeParameterContainer typeParameterContainer,
31+
JBBPNamedFieldInfo nullableNamedFieldInfo, int extraValue,
32+
boolean wholeArray, int arraySize) throws IOException {
33+
outStream.writeShort(((JBBPFieldShort) fieldValue).getAsInt(),
34+
typeParameterContainer.getByteOrder());
35+
}
36+
37+
@Override
38+
public JBBPAbstractField readVarField(Object sourceStruct, JBBPBitInputStream inStream,
39+
JBBPByteOrder byteOrder,
40+
JBBPNamedFieldInfo nullableNamedFieldInfo, int extraValue)
41+
throws IOException {
42+
return new JBBPFieldLong(nullableNamedFieldInfo, inStream.readLong(byteOrder));
43+
}
44+
45+
@Override
46+
public JBBPAbstractArrayField<? extends JBBPAbstractField> readVarArray(Object sourceStruct,
47+
JBBPBitInputStream inStream,
48+
JBBPByteOrder byteOrder,
49+
JBBPNamedFieldInfo nullableNamedFieldInfo,
50+
int extraValue,
51+
boolean readWholeStream,
52+
int arraySize)
53+
throws IOException {
54+
if (readWholeStream) {
55+
return new JBBPFieldArrayLong(nullableNamedFieldInfo, inStream.readLongArray(-1, byteOrder));
56+
} else {
57+
return new JBBPFieldArrayLong(nullableNamedFieldInfo,
58+
inStream.readLongArray(arraySize, byteOrder));
59+
}
60+
}
61+
62+
@Override
63+
public void run() {
64+
}
65+
66+
@Override
67+
public void writeVarField(Object sourceStruct, JBBPAbstractField value,
68+
JBBPBitOutputStream outStream, JBBPByteOrder byteOrder,
69+
JBBPNamedFieldInfo nullableNamedFieldInfo, int extraValue)
70+
throws IOException {
71+
outStream.writeLong(((JBBPFieldLong) value).getAsLong(), byteOrder);
72+
}
73+
74+
@Override
75+
public void writeVarArray(Object sourceStruct,
76+
JBBPAbstractArrayField<? extends JBBPAbstractField> array,
77+
JBBPBitOutputStream outStream, JBBPByteOrder byteOrder,
78+
JBBPNamedFieldInfo nullableNamedFieldInfo, int extraValue,
79+
int arraySizeToWrite) throws IOException {
80+
final JBBPFieldArrayLong a = (JBBPFieldArrayLong) array;
81+
if (arraySizeToWrite < 0) {
82+
for (final long l : a.getArray()) {
83+
outStream.writeLong(l, byteOrder);
84+
}
85+
} else {
86+
final long[] larr = a.getArray();
87+
for (int i = 0; i < arraySizeToWrite; i++) {
88+
outStream.writeLong(larr[i], byteOrder);
89+
}
90+
}
91+
}
92+
93+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.example;
2+
3+
public class Main {
4+
public static void main(String[] args) {
5+
System.out.println("Hello world!");
6+
}
7+
}

0 commit comments

Comments
 (0)