private static void addDefaultCacheAsRepository(String localRepository, List<RepositoryConfiguration> repositoryConfiguration) { RepositoryConfiguration repository = new RepositoryConfiguration("local", getLocalRepositoryDirectory(localRepository).toURI(), true); if (!repositoryConfiguration.contains(repository)) { repositoryConfiguration.add(0, repository); } }
private static List<RemoteRepository> createRepositories( List<RepositoryConfiguration> repositoryConfigurations) { List<RemoteRepository> repositories = new ArrayList<>( repositoryConfigurations.size()); for (RepositoryConfiguration repositoryConfiguration : repositoryConfigurations) { RemoteRepository.Builder builder = new RemoteRepository.Builder( repositoryConfiguration.getName(), "default", repositoryConfiguration.getUri().toASCIIString()); if (!repositoryConfiguration.getSnapshotsEnabled()) { builder.setSnapshotPolicy( new RepositoryPolicy(false, RepositoryPolicy.UPDATE_POLICY_NEVER, RepositoryPolicy.CHECKSUM_POLICY_IGNORE)); } repositories.add(builder.build()); } return repositories; }
private URLClassLoader populateClassloader(OptionSet options) throws MalformedURLException { DependencyResolutionContext resolutionContext = new DependencyResolutionContext(); List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory .createDefaultRepositoryConfiguration(); repositoryConfiguration.add(0, new RepositoryConfiguration("local", new File("repository").toURI(), true)); boolean quiet = true; if (options.has(debugOption)) { System.setProperty("groovy.grape.report.downloads", "true"); quiet = false; } AetherGrapeEngine grapeEngine = AetherGrapeEngineFactory.create(null, repositoryConfiguration, resolutionContext, quiet); HashMap<String, Object> dependency = new HashMap<>(); dependency.put("group", "org.springframework.cloud.launcher"); dependency.put("module", "spring-cloud-launcher-deployer"); dependency.put("version", getVersion()); dependency.put("transitive", false); URI[] uris = grapeEngine.resolve(null, dependency); URLClassLoader loader = new URLClassLoader(new URL[] { uris[0].toURL() }, getClass().getClassLoader().getParent().getParent()); log.debug("resolved URIs " + Arrays.asList(loader.getURLs())); return loader; }
@Override protected synchronized ExitStatus run(OptionSet options) throws Exception { synchronized (this.monitor) { if (this.runner != null) { throw new RuntimeException( "Already running. Please stop the current application before running another (use the 'stop' command)."); } SourceOptions sourceOptions = new SourceOptions(options); List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory .createDefaultRepositoryConfiguration(); repositoryConfiguration.add(0, new RepositoryConfiguration("local", new File("repository").toURI(), true)); SpringApplicationRunnerConfiguration configuration = new SpringApplicationRunnerConfigurationAdapter( options, this, repositoryConfiguration); this.runner = new SpringApplicationRunner(configuration, sourceOptions.getSourcesArray(), sourceOptions.getArgsArray()); this.runner.compileAndRun(); return ExitStatus.OK; } }
private static RepositoryConfiguration getRepositoryConfiguration( Interpolator interpolator, Repository repository) { String name = interpolate(interpolator, repository.getId()); String url = interpolate(interpolator, repository.getUrl()); boolean snapshotsEnabled = false; if (repository.getSnapshots() != null) { snapshotsEnabled = repository.getSnapshots().isEnabled(); } return new RepositoryConfiguration(name, URI.create(url), snapshotsEnabled); }