@@ -34,6 +34,8 @@ import scalafix.v1.RuleDecoder
3434final case class ScalafixArgumentsImpl (args : Args = Args .default)
3535 extends ScalafixArguments {
3636
37+ def this () = this (Args .default)
38+
3739 override def run (): Array [ScalafixError ] = {
3840 val exit = MainOps .run(Array (), args)
3941 ScalafixErrorImpl .fromScala(exit)
@@ -48,39 +50,44 @@ final case class ScalafixArgumentsImpl(args: Args = Args.default)
4850 }
4951 }
5052
53+ override def withRepositories (
54+ repositories : util.List [Repository ]
55+ ): ScalafixArguments =
56+ copy(args = args.copy(repositories = repositories.asScala.toList))
57+
5158 override def withRules (rules : util.List [String ]): ScalafixArguments =
5259 copy(args = args.copy(rules = rules.asScala.toList))
5360
5461 override def withToolClasspath (
5562 customURLs : util.List [URL ]
5663 ): ScalafixArguments =
57- withToolClasspath(
58- customURLs,
59- Nil .asJava,
60- Repository .defaults()
61- )
64+ withToolDependencyURLs(customURLs)
6265
6366 override def withToolClasspath (
6467 customURLs : util.List [URL ],
6568 customDependenciesCoordinates : util.List [String ]
6669 ): ScalafixArguments =
67- withToolClasspath(
68- customURLs,
69- customDependenciesCoordinates,
70- Repository .defaults()
71- )
70+ withToolDependencyCoordinates(customDependenciesCoordinates)
71+ .withToolDependencyURLs(customURLs)
7272
7373 override def withToolClasspath (
7474 customURLs : util.List [URL ],
7575 customDependenciesCoordinates : util.List [String ],
7676 repositories : util.List [Repository ]
7777 ): ScalafixArguments = {
78+ withRepositories(repositories)
79+ .withToolDependencyCoordinates(customDependenciesCoordinates)
80+ .withToolDependencyURLs(customURLs)
81+ }
7882
83+ override def withToolDependencyCoordinates (
84+ withToolDependencyCoordinates : java.util.List [String ]
85+ ): ScalafixArguments = {
7986 val OrganizeImportsCoordinates =
8087 """ com\.github\.liancheng.*:organize-imports:.*""" .r
8188
8289 val keptDependencies : Seq [String ] =
83- customDependenciesCoordinates .asScala
90+ withToolDependencyCoordinates .asScala
8491 .collect {
8592 case dep @ OrganizeImportsCoordinates () =>
8693 args.out.println(
@@ -107,7 +114,7 @@ final case class ScalafixArgumentsImpl(args: Args = Args.default)
107114 else Versions .scalaVersion
108115
109116 val customDependenciesJARs = ScalafixCoursier .toolClasspath(
110- repositories,
117+ args. repositories.asJava ,
111118 keptDependencies.asJava,
112119 scalaVersionForDependencies
113120 )
@@ -158,13 +165,23 @@ final case class ScalafixArgumentsImpl(args: Args = Args.default)
158165 }
159166 }
160167
161- val extraURLs = customURLs.asScala ++ customDependenciesJARs
168+ val extraURLs = customDependenciesJARs
162169 .getFiles()
163170 .asScala
164171 .map(_.toURI().toURL())
165172 val classLoader = new URLClassLoader (
166173 extraURLs.toArray,
167- getClass.getClassLoader
174+ args.toolClasspath
175+ )
176+ withToolClasspath(classLoader)
177+ }
178+
179+ override def withToolDependencyURLs (
180+ withToolDependencyURLs : java.util.List [java.net.URL ]
181+ ): ScalafixArguments = {
182+ val classLoader = new URLClassLoader (
183+ withToolDependencyURLs.asScala.toArray,
184+ args.toolClasspath
168185 )
169186 withToolClasspath(classLoader)
170187 }
0 commit comments