* Issue #150: Ability to handle JAR directories in extraClasspath. In keeping with Java conventions[0], any directory paths ending in /* should be considered a JAR directory and all jars in that directory will be added (non recursively) to the classpath.
[0] https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html
Signed-off-by: Tushar Inamdar <tusharinamdar@hotmail.com>
* Cleanup the dump implementation
* improved the clarity of utility methods for dump and updated most dump methods
* fixed upgrade filter dump
* Improved dump after review
* Moved dumpObjects to Dumpable
* implemented dumpBeans with dumpObjects
* less verbose dump
* Dump streams
* fixed dump test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Introduced --jpms option in jetty-start to run Jetty from the module-path.
Introduced [jpms] sections in *.mod files, to specify JPMS command line
options that needs to be added to the command line generated by jetty-start.
Bumped java.transaction-api to 1.3 because it has Automatic-Module-Name.
Fixed ASM version lookup using ManifestUtils.
Fixed WebInfConfiguration.findAndFilterContainerPaths() to properly
scan the module-path, which may contain both files and directories.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
+ Changes needed for new Junit 5
+ Migrating from Vintage junit API to Jupiter junit API
+ Relies on SNAPSHOT jetty-test-helper
- this will be a formal release once this issue has been
resolved satisfactory
+ Have jenkins always pull latest SNAPSHOT for each build
+ Adding jetty.snapshots repository
+ Using surefire 2.22.0 per advice from junit
+ Ensuring <reuseForks>true</reuseForks> to work around issue junit-team/junit5#801
+ Disabling <forkMode>always</forkMode> in maven-surefire-plugin
due to bug https://github.com/junit-team/junit5/issues/801
+ OSGi tests must remain at vintage due to PaxExam
+ Moving from vintage TestingDir to jupiter WorkDir
+ Fixing imports to use jupiter, not vintage
+ Migrating vintage ExpectedException to jupiter assertThrows
+ Migrating vintage TestName to jupiter TestInfo
+ Migrating @RunWith(Parameterized.class)
to @ParameterizedTest with Argument Sources
+ Migrating assertTrue(val.contains(needle))
to assertThat(val, containsString(needle))
+ Aligning junit versions per recommendations from @sormuras
+ Adjusting parameter order change for assertEquals()
+ Test LifeCycle Annotation Migration
junit 4 | junit 5 / jupiter
------------ | -----------
@Before | @BeforeEach
@After | @AfterEach
@BeforeClass | @BeforeAll
@AfterClass | @AfterAll
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
+ During WebInfConfiguration.unpack()
If you have WebAppContext declared with .setWar()
and it points to a file on the filesystem, use that
original PathResource object to determine lastModified()
instead of the forced JarFileResource.
This is done to avoid URLConnection caching that prevents
the original WAR file from being deleted / replaced on
MS Windows.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Objects which inherit or implement an `equals()` method should not be compared with == or !=
When the comparison of references is intentional `@SuppressWarnings("ReferenceEquality")` can be used
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
+ AbstractLifeCycle.setFailed(Throwable) is now protected, so
that the odd usages from WebAppContext.doStart() can be supported
+ The AbstractLifeCycle.doStart() now checks for state == FAILED
Converted jetty-util to be a multi release jar
Added org/eclipse/jetty/util/MultiReleaseJarFile as botha java8 and java9 version
deprecated jarScanner
updated AnnotationParser to use MultiReleaseJarFile
Converted jetty-util to be a multi release jar
Added org/eclipse/jetty/util/MultiReleaseJarFile as botha java8 and java9 version
deprecated jarScanner
updated AnnotationParser to use MultiReleaseJarFile
* minor cleanups of ClasspathPattern
* defined jetty.home.uri and jetty.base.uri in start.jar and webapp configuration properties
* minor cleanup of start.jar property handling (more needed)
* updated location classpathpatterns in modules
+ Replaced with URI TypeUtil.getLocationOfClass(Class clazz)
+ and File TypeUtil.getLocationOfClassAsFile(Class clazz)
+ This is done to eliminate extraneous "new URL" and "URI.toURL" calls
that can trigger URL Stream Handler creation and initialization
which is the cause of the StackOverflowError
+ Fixing HashLoginService to track its Config via File reference only
(dropping support for URL reference)
+ Adding new `this.web-inf.path` property that jetty-web.xml can use