Skip to content

Commit d138b51

Browse files
committed
use locale build packge for examples
1 parent 7ea6f89 commit d138b51

File tree

7 files changed

+78
-63
lines changed

7 files changed

+78
-63
lines changed

.github/workflows/ci-java.yaml

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -89,28 +89,35 @@ jobs:
8989
gradle-version: "8.6"
9090
build-root-directory: java
9191

92-
# - name: run examples for file
93-
# env:
94-
# SCAN_PATH: "src/main/java/de/gdata/vaasexample/Main.java"
95-
# uses: gradle/gradle-build-action@v3
96-
# with:
97-
# arguments: fileScan
98-
# gradle-version: "8.6"
99-
# build-root-directory: java/examples/VaasExample
100-
101-
# - name: run examples for url
102-
# uses: gradle/gradle-build-action@v3
103-
# with:
104-
# arguments: urlScan
105-
# gradle-version: "8.6"
106-
# build-root-directory: java/examples/VaasExample
107-
108-
# - name: run authentication examples
109-
# uses: gradle/gradle-build-action@v3
110-
# with:
111-
# arguments: authentication
112-
# gradle-version: "8.6"
113-
# build-root-directory: java/examples/VaasExample
92+
- name: publish local Maven package for examples
93+
uses: gradle/gradle-build-action@v3
94+
with:
95+
arguments: publishToLocalMaven
96+
gradle-version: "8.6"
97+
build-root-directory: java
98+
99+
- name: run examples for file
100+
env:
101+
SCAN_PATH: "src/main/java/de/gdata/vaasexample/Main.java"
102+
uses: gradle/gradle-build-action@v3
103+
with:
104+
arguments: fileScan
105+
gradle-version: "8.6"
106+
build-root-directory: java/examples/VaasExample
107+
108+
- name: run examples for url
109+
uses: gradle/gradle-build-action@v3
110+
with:
111+
arguments: urlScan
112+
gradle-version: "8.6"
113+
build-root-directory: java/examples/VaasExample
114+
115+
- name: run authentication examples
116+
uses: gradle/gradle-build-action@v3
117+
with:
118+
arguments: authentication
119+
gradle-version: "8.6"
120+
build-root-directory: java/examples/VaasExample
114121

115122
- name: extract version
116123
if: startsWith(github.ref, 'refs/tags/java')

java/build.gradle

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ tasks.register('testWithoutErrorLogProducer', Test) {
7171
publishing {
7272
publications {
7373
mavenJava(MavenPublication) {
74+
from components.java
75+
7476
pom {
7577
name = 'G DATA VaaS'
7678
description = 'Verdict-as-a-Service (VaaS) is a service that provides a platform for scanning files for malware and other threats. It allows easy integration in your application. With a few lines of code, you can start scanning files for malware.'
@@ -92,22 +94,50 @@ publishing {
9294
connection = 'scm:git:git@github.com:GDATASoftwareAG/vaas.git'
9395
url = 'https://github.com/GDATASoftwareAG/vaas'
9496
}
95-
96-
from components.java
9797
}
9898
}
9999
}
100100

101101
signing {
102-
def signingKey = findProperty("signingKey")
103-
def signingPassword = findProperty("signingPassword")
104-
useInMemoryPgpKeys(signingKey, signingPassword)
105-
sign publishing.publications.mavenJava
102+
def isReleaseBuild = project.gradle.taskGraph.hasTask("publishToMavenCentral")
103+
104+
if (isReleaseBuild && findProperty("signingKey") && findProperty("signingPassword")) {
105+
useInMemoryPgpKeys(findProperty("signingKey"), findProperty("signingPassword"))
106+
sign publishing.publications.mavenJava
107+
} else {
108+
logger.lifecycle("Skipping signing as this is not a release build or no signing credentials are provided.")
109+
}
106110
}
107111

112+
108113
repositories {
114+
// Veröffentlichung in ein internes lokales Verzeichnis (nur optional)
109115
maven {
110116
url = layout.buildDirectory.dir('repos/releases')
111117
}
118+
119+
// Maven Central
120+
maven {
121+
name = "mavenCentral"
122+
url = "https://repo.maven.apache.org/maven2"
123+
credentials {
124+
username = findProperty("mavenCentralUsername") ?: ""
125+
password = findProperty("mavenCentralPassword") ?: ""
126+
}
127+
}
112128
}
113129
}
130+
131+
tasks.register('publishToLocalMaven') {
132+
group = 'publishing'
133+
description = 'Publish the library to the local Maven repository (~/.m2/repository).'
134+
135+
dependsOn 'publishMavenJavaPublicationToMavenLocal'
136+
}
137+
138+
tasks.register('publishToMavenCentral') {
139+
group = 'publishing'
140+
description = 'Publish the library to Maven Central.'
141+
142+
dependsOn 'publishMavenJavaPublicationToMavenRepository'
143+
}

java/examples/VaasExample/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ group 'de.gdata.vaasexample'
66
version '1.0-SNAPSHOT'
77

88
repositories {
9+
mavenLocal()
910
mavenCentral()
1011
}
1112

1213
dependencies {
1314
implementation 'org.slf4j:slf4j-nop:2.0.16'
14-
implementation 'de.gdata:vaas:8.3.8'
15+
implementation 'de.gdata:vaas:0.0.0'
1516
}
1617

1718
task fileScan(type: JavaExec) {

java/examples/VaasExample/src/main/java/de/gdata/vaasexample/Authentication.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package de.gdata.vaasexample;
22

33
import de.gdata.vaas.*;
4-
import de.gdata.vaas.messages.VerdictRequestAttributes;
4+
import de.gdata.vaas.authentication.*;
55
import java.net.URI;
66

77

@@ -36,12 +36,7 @@ public static void main(String[] args) throws Exception {
3636

3737
var config = new VaasConfig(new URI(vaasUrl));
3838
var vaas = new Vaas(config, authenticator);
39-
vaas.connect();
40-
41-
var verdictRequestAttributes = new VerdictRequestAttributes();
42-
verdictRequestAttributes.setTenantId("fileTenant");
43-
var verdict = vaas.forSha256(new Sha256("275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"), verdictRequestAttributes);
44-
vaas.disconnect();
39+
var verdict = vaas.forSha256(new Sha256("275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f"));
4540
System.out.printf("File %s was detected as %s", verdict.getSha256(), verdict.getVerdict());
4641
}
4742
}

java/examples/VaasExample/src/main/java/de/gdata/vaasexample/Main.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package de.gdata.vaasexample;
22

33
import de.gdata.vaas.*;
4-
import de.gdata.vaas.messages.VerdictRequestAttributes;
5-
4+
import de.gdata.vaas.authentication.*;
65
import java.net.URI;
76
import java.nio.file.Path;
87

@@ -33,16 +32,10 @@ public static void main(String[] args) throws Exception {
3332
authenticator = new ClientCredentialsGrantAuthenticator(clientId, clientSecret, new URI(tokenUrl));
3433
}
3534

36-
var config = new VaasConfig(
37-
new URI(vaasUrl));
35+
var config = new VaasConfig(new URI(vaasUrl));
3836
var vaas = new Vaas(config, authenticator);
39-
vaas.connect();
40-
4137
var file = Path.of(scanPath);
42-
var verdictRequestAttributes = new VerdictRequestAttributes();
43-
verdictRequestAttributes.setTenantId("fileTenant");
44-
var verdict = vaas.forFile(file, verdictRequestAttributes);
45-
vaas.disconnect();
38+
var verdict = vaas.forFile(file);
4639
System.out.printf("File %s was detected as %s", verdict.getSha256(), verdict.getVerdict());
4740
}
4841

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package de.gdata.vaasexample;
22

3-
import de.gdata.vaas.ClientCredentialsGrantAuthenticator;
4-
import de.gdata.vaas.Vaas;
5-
import de.gdata.vaas.VaasConfig;
6-
import de.gdata.vaas.messages.VerdictRequestAttributes;
7-
3+
import de.gdata.vaas.*;
4+
import de.gdata.vaas.authentication.*;
85
import java.net.URI;
96
import java.net.URL;
107

@@ -24,15 +21,8 @@ public static void main(String[] args) throws Exception {
2421
var authenticator = new ClientCredentialsGrantAuthenticator(clientId, clientSecret, new URI(tokenUrl));
2522
var config = new VaasConfig(new URI(vaasUrl));
2623
var vaas = new Vaas(config, authenticator);
27-
vaas.connect();
28-
2924
var url = new URL("https://secure.eicar.org/eicar.com");
30-
31-
var verdictRequestAttributes = new VerdictRequestAttributes();
32-
verdictRequestAttributes.setTenantId("urlTenant");
33-
var verdict = vaas.forUrl(url, verdictRequestAttributes);
34-
35-
vaas.disconnect();
25+
var verdict = vaas.forUrl(url);
3626
System.out.printf("File %s was detected as %s", verdict.getSha256(), verdict.getVerdict());
3727
}
3828
}

java/src/main/java/de/gdata/vaas/options/ForUrlOptions.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,15 @@
88
import org.jetbrains.annotations.Nullable;
99

1010
/**
11-
* Options for configuring forUrl requests.
12-
* It includes options for using hash lookup and specifying a VaaS request ID.
11+
* <p>Options for configuring forUrl requests.
12+
* It includes options for using hash lookup and specifying a VaaS request ID.</p>
13+
*
1314
*
14-
* <p>
1515
* Fields:
1616
* <ul>
1717
* <li>{@code UseHashLookup} - A boolean flag indicating whether to use hash lookup. Default is {@code true}.</li>
1818
* <li>{@code VaasRequestId} - An optional string representing the VaaS request ID.</li>
1919
* </ul>
20-
* </p>
2120
*/
2221
@Setter
2322
@Getter

0 commit comments

Comments
 (0)