Skip to content

Commit 1278f52

Browse files
committed
implement integration testing with multimodule architecture
1 parent 08a59d8 commit 1278f52

File tree

25 files changed

+144
-52
lines changed

25 files changed

+144
-52
lines changed

analyzer/build.gradle.kts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
plugins {
2+
id("java-library")
3+
}
4+
5+
dependencies {
6+
implementation("org.ow2.asm:asm:9.5")
7+
implementation("org.ow2.asm:asm-tree:9.5")
8+
implementation("org.ow2.asm:asm-analysis:9.5")
9+
implementation("org.ow2.asm:asm-util:9.5")
10+
11+
testImplementation(platform("org.junit:junit-bom:5.10.0"))
12+
testImplementation("org.junit.jupiter:junit-jupiter")
13+
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
14+
}
15+
16+
17+
tasks.test {
18+
useJUnitPlatform()
19+
}

src/main/java/org/example/Analyzer.java renamed to analyzer/src/main/java/com/quicklybly/itmo/bytecodeanalyzer/Analyzer.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
package org.example;
2-
1+
package com.quicklybly.itmo.bytecodeanalyzer;
2+
3+
import com.quicklybly.itmo.bytecodeanalyzer.api.Statistic;
4+
import com.quicklybly.itmo.bytecodeanalyzer.util.ClassRepository;
5+
import com.quicklybly.itmo.bytecodeanalyzer.util.provider.ClassProvider;
6+
import com.quicklybly.itmo.bytecodeanalyzer.util.provider.impl.CompositeClassProvider;
7+
import com.quicklybly.itmo.bytecodeanalyzer.util.provider.impl.JarClassProvider;
8+
import com.quicklybly.itmo.bytecodeanalyzer.util.provider.impl.SystemClassProvider;
9+
import com.quicklybly.itmo.bytecodeanalyzer.visitor.ClassStatisticVisitor;
310
import java.io.IOException;
411
import java.io.InputStream;
512
import java.nio.file.Path;
613
import java.util.List;
714
import java.util.jar.JarFile;
8-
import org.example.model.Statistic;
9-
import org.example.util.ClassRepository;
10-
import org.example.util.provider.ClassProvider;
11-
import org.example.util.provider.impl.CompositeClassProvider;
12-
import org.example.util.provider.impl.JarClassProvider;
13-
import org.example.util.provider.impl.SystemClassProvider;
14-
import org.example.visitor.ClassStatisticVisitor;
1515
import org.objectweb.asm.ClassReader;
1616
import org.objectweb.asm.ClassVisitor;
1717

1818
public class Analyzer {
1919

2020
public static void main(String[] args) throws IOException {
21-
var path = Path.of("src/main/resources/sample.jar");
21+
var path = Path.of("analyzer/src/main/resources/sample.jar");
2222
var analyzer = new Analyzer();
2323

2424
var statistic = analyzer.analyzeJar(path);

src/main/java/org/example/model/Statistic.java renamed to analyzer/src/main/java/com/quicklybly/itmo/bytecodeanalyzer/api/Statistic.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
package org.example.model;
1+
package com.quicklybly.itmo.bytecodeanalyzer.api;
2+
3+
import com.quicklybly.itmo.bytecodeanalyzer.model.AbcMetric;
4+
import com.quicklybly.itmo.bytecodeanalyzer.model.AverageHolder;
25

36
public class Statistic {
47

src/main/java/org/example/model/AbcMetric.java renamed to analyzer/src/main/java/com/quicklybly/itmo/bytecodeanalyzer/model/AbcMetric.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.example.model;
1+
package com.quicklybly.itmo.bytecodeanalyzer.model;
22

33
/*
44
ABC rules for Java

src/main/java/org/example/model/AverageHolder.java renamed to analyzer/src/main/java/com/quicklybly/itmo/bytecodeanalyzer/model/AverageHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.example.model;
1+
package com.quicklybly.itmo.bytecodeanalyzer.model;
22

33
public class AverageHolder {
44
private final Object lock = new Object();

src/main/java/org/example/model/hierarchy/ClassHierarchyNode.java renamed to analyzer/src/main/java/com/quicklybly/itmo/bytecodeanalyzer/model/hierarchy/ClassHierarchyNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.example.model.hierarchy;
1+
package com.quicklybly.itmo.bytecodeanalyzer.model.hierarchy;
22

33
import java.util.Collections;
44
import java.util.Set;

src/main/java/org/example/util/ByteCodePrinter.java renamed to analyzer/src/main/java/com/quicklybly/itmo/bytecodeanalyzer/util/ByteCodePrinter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.example.util;
1+
package com.quicklybly.itmo.bytecodeanalyzer.util;
22

33
import org.objectweb.asm.ClassReader;
44
import org.objectweb.asm.tree.ClassNode;

src/main/java/org/example/util/CheckFrameAnalyzer.java renamed to analyzer/src/main/java/com/quicklybly/itmo/bytecodeanalyzer/util/CheckFrameAnalyzer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.example.util;
1+
package com.quicklybly.itmo.bytecodeanalyzer.util;
22

33
// ASM: a very small and fast Java bytecode manipulation framework
44
// Copyright (c) 2000-2011 INRIA, France Telecom

src/main/java/org/example/util/ClassRepository.java renamed to analyzer/src/main/java/com/quicklybly/itmo/bytecodeanalyzer/util/ClassRepository.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
package org.example.util;
1+
package com.quicklybly.itmo.bytecodeanalyzer.util;
22

33
import java.io.IOException;
44
import java.io.InputStream;
55
import java.util.HashMap;
66
import java.util.HashSet;
77
import java.util.Map;
88
import java.util.Set;
9-
import org.example.model.hierarchy.ClassHierarchyNode;
10-
import org.example.util.provider.ClassProvider;
9+
import com.quicklybly.itmo.bytecodeanalyzer.model.hierarchy.ClassHierarchyNode;
10+
import com.quicklybly.itmo.bytecodeanalyzer.util.provider.ClassProvider;
1111
import org.objectweb.asm.ClassReader;
1212
import org.objectweb.asm.ClassVisitor;
1313
import org.objectweb.asm.MethodVisitor;

src/main/java/org/example/util/provider/ClassProvider.java renamed to analyzer/src/main/java/com/quicklybly/itmo/bytecodeanalyzer/util/provider/ClassProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.example.util.provider;
1+
package com.quicklybly.itmo.bytecodeanalyzer.util.provider;
22

33
import java.io.IOException;
44
import java.io.InputStream;

0 commit comments

Comments
 (0)