Skip to content

Commit c524e2b

Browse files
committed
Implement ClassGraph library recurcive classes search.
1 parent cf7a360 commit c524e2b

File tree

2 files changed

+47
-13
lines changed

2 files changed

+47
-13
lines changed

pom.xml

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@
99
<version>1.2-SNAPSHOT</version>
1010

1111
<properties>
12-
<vavr.version>0.10.0</vavr.version>
13-
<slf4j.version>1.7.26</slf4j.version>
14-
<lombok.version>1.18.8</lombok.version>
15-
<logback-classic.version>1.2.3</logback-classic.version>
16-
<junit-jupiter.version>5.4.2</junit-jupiter.version>
17-
<assertj.version>3.12.2</assertj.version>
18-
19-
<java.version>1.8</java.version>
20-
<maven.compiler.source>${java.version}</maven.compiler.source>
21-
<maven.compiler.target>${java.version}</maven.compiler.target>
22-
2312
<encoding>UTF-8</encoding>
2413
<project.build.sourceEncoding>${encoding}</project.build.sourceEncoding>
2514
<project.reporting.outputEncoding>${encoding}</project.reporting.outputEncoding>
15+
<maven.compiler.source>${java.version}</maven.compiler.source>
16+
<maven.compiler.target>${java.version}</maven.compiler.target>
2617

18+
<java.version>1.8</java.version>
19+
<vavr.version>0.10.0</vavr.version>
20+
<slf4j.version>1.7.26</slf4j.version>
21+
<lombok.version>1.18.8</lombok.version>
22+
<logback.version>1.2.3</logback.version>
23+
<assertj.version>3.12.2</assertj.version>
24+
<classgraph.version>4.8.37</classgraph.version>
25+
<reflections.version>0.9.11</reflections.version>
26+
<junit-jupiter.version>5.4.2</junit-jupiter.version>
2727
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
2828
</properties>
2929

@@ -40,10 +40,16 @@
4040
</dependencyManagement>
4141

4242
<dependencies>
43+
<dependency>
44+
<groupId>io.github.classgraph</groupId>
45+
<artifactId>classgraph</artifactId>
46+
<version>${classgraph.version}</version>
47+
</dependency>
48+
4349
<dependency>
4450
<groupId>org.reflections</groupId>
4551
<artifactId>reflections</artifactId>
46-
<version>0.9.11</version>
52+
<version>${reflections.version}</version>
4753
</dependency>
4854

4955
<dependency>
@@ -54,7 +60,7 @@
5460
<dependency>
5561
<groupId>ch.qos.logback</groupId>
5662
<artifactId>logback-classic</artifactId>
57-
<version>${logback-classic.version}</version>
63+
<version>${logback.version}</version>
5864
</dependency>
5965
<dependency>
6066
<groupId>org.projectlombok</groupId>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.github.daggerok;
2+
3+
import io.github.classgraph.ClassGraph;
4+
import lombok.Cleanup;
5+
import lombok.extern.slf4j.Slf4j;
6+
import lombok.val;
7+
import org.junit.Test;
8+
import org.junit.jupiter.api.DisplayName;
9+
10+
import java.util.List;
11+
12+
import static org.assertj.core.api.Assertions.assertThat;
13+
14+
@Slf4j
15+
@DisplayName("java classgraph library tests")
16+
public class ClassGraphLibraryTest {
17+
18+
@Test
19+
@DisplayName("should get classes recursively in given package")
20+
public void test() {
21+
@Cleanup val scanResult = new ClassGraph().whitelistPackages(getClass().getPackage().getName())
22+
.enableClassInfo()
23+
.scan();
24+
final List<Class<?>> classes = scanResult.getAllClasses().loadClasses();
25+
assertThat(classes).hasSizeGreaterThan(4);
26+
classes.stream().map(String::valueOf).forEach(log::info);
27+
}
28+
}

0 commit comments

Comments
 (0)