Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
11d1002f
Commit
11d1002f
authored
Aug 06, 2020
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.2.x' into 2.3.x
Closes gh-22767
parents
327138c2
07699ea6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
14 deletions
+22
-14
ModifiedClassPathClassLoader.java
...t/testsupport/classpath/ModifiedClassPathClassLoader.java
+22
-14
No files found.
spring-boot-project/spring-boot-tools/spring-boot-test-support/src/main/java/org/springframework/boot/testsupport/classpath/ModifiedClassPathClassLoader.java
View file @
11d1002f
...
@@ -66,6 +66,8 @@ final class ModifiedClassPathClassLoader extends URLClassLoader {
...
@@ -66,6 +66,8 @@ final class ModifiedClassPathClassLoader extends URLClassLoader {
private
static
final
Pattern
INTELLIJ_CLASSPATH_JAR_PATTERN
=
Pattern
.
compile
(
".*classpath(\\d+)?\\.jar"
);
private
static
final
Pattern
INTELLIJ_CLASSPATH_JAR_PATTERN
=
Pattern
.
compile
(
".*classpath(\\d+)?\\.jar"
);
private
static
final
int
MAX_RESOLUTION_ATTEMPTS
=
5
;
private
final
ClassLoader
junitLoader
;
private
final
ClassLoader
junitLoader
;
ModifiedClassPathClassLoader
(
URL
[]
urls
,
ClassLoader
parent
,
ClassLoader
junitLoader
)
{
ModifiedClassPathClassLoader
(
URL
[]
urls
,
ClassLoader
parent
,
ClassLoader
junitLoader
)
{
...
@@ -190,6 +192,7 @@ final class ModifiedClassPathClassLoader extends URLClassLoader {
...
@@ -190,6 +192,7 @@ final class ModifiedClassPathClassLoader extends URLClassLoader {
}
}
private
static
List
<
URL
>
resolveCoordinates
(
String
[]
coordinates
)
{
private
static
List
<
URL
>
resolveCoordinates
(
String
[]
coordinates
)
{
Exception
latestFailure
=
null
;
DefaultServiceLocator
serviceLocator
=
MavenRepositorySystemUtils
.
newServiceLocator
();
DefaultServiceLocator
serviceLocator
=
MavenRepositorySystemUtils
.
newServiceLocator
();
serviceLocator
.
addService
(
RepositoryConnectorFactory
.
class
,
BasicRepositoryConnectorFactory
.
class
);
serviceLocator
.
addService
(
RepositoryConnectorFactory
.
class
,
BasicRepositoryConnectorFactory
.
class
);
serviceLocator
.
addService
(
TransporterFactory
.
class
,
HttpTransporterFactory
.
class
);
serviceLocator
.
addService
(
TransporterFactory
.
class
,
HttpTransporterFactory
.
class
);
...
@@ -197,22 +200,27 @@ final class ModifiedClassPathClassLoader extends URLClassLoader {
...
@@ -197,22 +200,27 @@ final class ModifiedClassPathClassLoader extends URLClassLoader {
DefaultRepositorySystemSession
session
=
MavenRepositorySystemUtils
.
newSession
();
DefaultRepositorySystemSession
session
=
MavenRepositorySystemUtils
.
newSession
();
LocalRepository
localRepository
=
new
LocalRepository
(
System
.
getProperty
(
"user.home"
)
+
"/.m2/repository"
);
LocalRepository
localRepository
=
new
LocalRepository
(
System
.
getProperty
(
"user.home"
)
+
"/.m2/repository"
);
session
.
setLocalRepositoryManager
(
repositorySystem
.
newLocalRepositoryManager
(
session
,
localRepository
));
session
.
setLocalRepositoryManager
(
repositorySystem
.
newLocalRepositoryManager
(
session
,
localRepository
));
CollectRequest
collectRequest
=
new
CollectRequest
(
null
,
Arrays
.
asList
(
for
(
int
i
=
0
;
i
<
MAX_RESOLUTION_ATTEMPTS
;
i
++)
{
new
RemoteRepository
.
Builder
(
"central"
,
"default"
,
"https://repo.maven.apache.org/maven2"
).
build
()));
CollectRequest
collectRequest
=
new
CollectRequest
(
null
,
Arrays
.
asList
(
collectRequest
.
setDependencies
(
createDependencies
(
coordinates
));
new
RemoteRepository
.
Builder
(
"central"
,
"default"
,
"https://repo.maven.apache.org/maven2"
)
DependencyRequest
dependencyRequest
=
new
DependencyRequest
(
collectRequest
,
null
);
.
build
()));
try
{
collectRequest
.
setDependencies
(
createDependencies
(
coordinates
));
DependencyResult
result
=
repositorySystem
.
resolveDependencies
(
session
,
dependencyRequest
);
DependencyRequest
dependencyRequest
=
new
DependencyRequest
(
collectRequest
,
null
);
List
<
URL
>
resolvedArtifacts
=
new
ArrayList
<>();
try
{
for
(
ArtifactResult
artifact
:
result
.
getArtifactResults
())
{
DependencyResult
result
=
repositorySystem
.
resolveDependencies
(
session
,
dependencyRequest
);
resolvedArtifacts
.
add
(
artifact
.
getArtifact
().
getFile
().
toURI
().
toURL
());
List
<
URL
>
resolvedArtifacts
=
new
ArrayList
<>();
for
(
ArtifactResult
artifact
:
result
.
getArtifactResults
())
{
resolvedArtifacts
.
add
(
artifact
.
getArtifact
().
getFile
().
toURI
().
toURL
());
}
return
resolvedArtifacts
;
}
catch
(
Exception
ex
)
{
latestFailure
=
ex
;
}
}
return
resolvedArtifacts
;
}
catch
(
Exception
ignored
)
{
return
Collections
.
emptyList
();
}
}
throw
new
IllegalStateException
(
"Resolution failed after "
+
MAX_RESOLUTION_ATTEMPTS
+
" attempts"
,
latestFailure
);
}
}
private
static
List
<
Dependency
>
createDependencies
(
String
[]
allCoordinates
)
{
private
static
List
<
Dependency
>
createDependencies
(
String
[]
allCoordinates
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment