JUnit 4.11 (Java) - srcworld-org/nebula GitHub Wiki

Source code located at: https://github.com/junit-team/junit4/archive/r4.11.zip


World 0 Attempt

Copied nebula\origins\junit_4_11\junit4-r4.11\src to srcworld-org\world0\java_se_8\src

Compilation Errors: package org.hamcrest does not exist (et al.)

Observe nebula\origins\junit_4_11\junit4-r4.11\lib contains hamcrest-core-1.3.jar

Observe https://mvnrepository.com/artifact/junit/junit/4.11 shows 1 dependency: hamcrest-core 1.3

Roll back srcworld-org\world0\java_se_8\src

Integrate Hamcrest 1.3 / Core.

Merge nebula\origins\junit_4_11\junit4-r4.11\src to srcworld-org\world0\java_se_8\src

Compilation Errors:

srcworld-org\world0\java_se_8\src\main\java\org\junit\matchers\JUnitMatchers.java
Error:(3, 20) java: cannot find symbol
  symbol:   class CoreMatchers
  location: package org.hamcrest

Ran:

srcworld-org/nebula/prepare/hamcrest_1.3/JavaHamcrest-hamcrest-java-1.3$ ant

which generated

srcworld-org\nebula\prepare\hamcrest_1.3\JavaHamcrest-hamcrest-java-1.3\build\temp\hamcrest-core\generated-code

Merged srcworld-org\nebula\prepare\hamcrest_1.3\JavaHamcrest-hamcrest-java-1.3\build\temp\hamcrest-core\generated-code\org to srcworld-org\world0\java_se_8\src\main\java\org

Compile Success


Runtime Dependency Checks

ClassNotFoundException: yes.

ClassLoader: yes.

Class.forName(...): yes.

SecureClassLoader: none.

URLClassLoader: none.

javax.management.loading: none.

JUnit uses a lot of reflection as a natural component of its library. We assume such a widespread foundational library does not have unknown runtime dependencies.