You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by gs...@apache.org on 2007/09/07 17:53:23 UTC
svn commit: r573645 - in /incubator/ivy/core/trunk:
src/java/org/apache/ivy/core/cache/ src/java/org/apache/ivy/core/check/
src/java/org/apache/ivy/core/install/ src/java/org/apache/ivy/core/resolve/
src/java/org/apache/ivy/core/retrieve/ src/java/org/...
Author: gscokart
Date: Fri Sep 7 10:53:21 2007
New Revision: 573645
URL: http://svn.apache.org/viewvc?rev=573645&view=rev
Log:
Isolate CheckEngineSettings, InstallEngineSettings, CacheSettings, RetrieveEngineSettings, ResolveEngineSettings and ResolverSettings
Added:
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheSettings.java (with props)
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngineSettings.java (with props)
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngineSettings.java (with props)
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngineSettings.java (with props)
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java (with props)
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java (with props)
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheManager.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngine.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngine.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/DownloadOptions.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveData.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/CacheResolver.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/DependencyResolver.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IvyRepResolver.java
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/RepositoryResolver.java
incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/URLResolverTest.java
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheManager.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheManager.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheManager.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheManager.java Fri Sep 7 10:53:21 2007
@@ -27,28 +27,31 @@
import org.apache.ivy.core.module.id.ModuleRevisionId;
import org.apache.ivy.core.resolve.DefaultModuleRevision;
import org.apache.ivy.core.resolve.ResolvedModuleRevision;
-import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser;
import org.apache.ivy.plugins.resolver.DependencyResolver;
import org.apache.ivy.util.Message;
import org.apache.ivy.util.PropertiesFile;
public class CacheManager {
- public static CacheManager getInstance(IvySettings settings, File cache) {
+ public static CacheManager getInstance(CacheSettings settings, File cache) {
return new CacheManager(settings, cache);
}
- public static CacheManager getInstance(IvySettings settings) {
+ public static CacheManager getInstance(CacheSettings settings) {
return getInstance(settings, settings.getDefaultCache());
}
- private IvySettings settings;
+ private CacheSettings settings;
private File cache;
- public CacheManager(IvySettings settings, File cache) {
+ public CacheManager(CacheSettings settings, File cache) {
this.settings = settings;
- this.cache = cache;
+ if (cache==null) {
+ this.cache=settings.getDefaultCache();
+ } else {
+ this.cache = cache;
+ }
}
public File getResolvedIvyFileInCache(ModuleRevisionId mrid) {
Added: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheSettings.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheSettings.java?rev=573645&view=auto
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheSettings.java (added)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheSettings.java Fri Sep 7 10:53:21 2007
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivy.core.cache;
+
+import java.io.File;
+
+import org.apache.ivy.core.module.id.ModuleId;
+import org.apache.ivy.plugins.parser.ParserSettings;
+import org.apache.ivy.plugins.resolver.DependencyResolver;
+import org.apache.ivy.plugins.version.VersionMatcher;
+
+public interface CacheSettings extends ParserSettings {
+
+ File getDefaultCache();
+
+ String getCacheResolvedIvyPattern();
+
+ String getCacheResolvedIvyPropertiesPattern();
+
+ String getCacheIvyPattern();
+
+ String getCacheArtifactPattern();
+
+ String getCacheDataFilePattern();
+
+ VersionMatcher getVersionMatcher();
+
+ DependencyResolver getResolver(ModuleId moduleId);
+
+ DependencyResolver getResolver(String artResolverName);
+
+}
Propchange: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/cache/CacheSettings.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngine.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngine.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngine.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngine.java Fri Sep 7 10:53:21 2007
@@ -33,17 +33,16 @@
import org.apache.ivy.core.resolve.ResolveEngine;
import org.apache.ivy.core.resolve.ResolveOptions;
import org.apache.ivy.core.resolve.ResolvedModuleRevision;
-import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.parser.ModuleDescriptorParserRegistry;
import org.apache.ivy.plugins.resolver.DependencyResolver;
import org.apache.ivy.util.Message;
public class CheckEngine {
- private IvySettings settings;
+ private CheckEngineSettings settings;
private ResolveEngine resolveEngine;
- public CheckEngine(IvySettings settings, ResolveEngine resolveEngine) {
+ public CheckEngine(CheckEngineSettings settings, ResolveEngine resolveEngine) {
this.settings = settings;
this.resolveEngine = resolveEngine;
}
Added: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngineSettings.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngineSettings.java?rev=573645&view=auto
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngineSettings.java (added)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngineSettings.java Fri Sep 7 10:53:21 2007
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivy.core.check;
+
+import org.apache.ivy.core.cache.CacheSettings;
+import org.apache.ivy.core.module.id.ModuleId;
+import org.apache.ivy.plugins.parser.ParserSettings;
+import org.apache.ivy.plugins.resolver.DependencyResolver;
+
+public interface CheckEngineSettings extends CacheSettings , ParserSettings {
+
+ boolean doValidate();
+
+ DependencyResolver getResolver(String resolvername);
+
+ DependencyResolver getResolver(ModuleId dependencyId);
+
+}
Propchange: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/check/CheckEngineSettings.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngine.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngine.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngine.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngine.java Fri Sep 7 10:53:21 2007
@@ -39,7 +39,6 @@
import org.apache.ivy.core.resolve.ResolveEngine;
import org.apache.ivy.core.resolve.ResolveOptions;
import org.apache.ivy.core.search.SearchEngine;
-import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.conflict.NoConflictManager;
import org.apache.ivy.plugins.matcher.ExactPatternMatcher;
import org.apache.ivy.plugins.matcher.MatcherHelper;
@@ -50,7 +49,7 @@
import org.apache.ivy.util.filter.FilterHelper;
public class InstallEngine {
- private IvySettings settings;
+ private InstallEngineSettings settings;
private ResolveEngine resolveEngine;
@@ -58,7 +57,7 @@
private SearchEngine searchEngine;
- public InstallEngine(IvySettings settings, SearchEngine searchEngine,
+ public InstallEngine(InstallEngineSettings settings, SearchEngine searchEngine,
ResolveEngine resolveEngine, PublishEngine publishEngine) {
this.settings = settings;
this.searchEngine = searchEngine;
Added: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngineSettings.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngineSettings.java?rev=573645&view=auto
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngineSettings.java (added)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngineSettings.java Fri Sep 7 10:53:21 2007
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivy.core.install;
+
+import java.util.Collection;
+
+import org.apache.ivy.core.cache.CacheSettings;
+import org.apache.ivy.core.module.status.StatusManager;
+import org.apache.ivy.plugins.matcher.PatternMatcher;
+import org.apache.ivy.plugins.report.ReportOutputter;
+import org.apache.ivy.plugins.resolver.DependencyResolver;
+
+public interface InstallEngineSettings extends CacheSettings {
+
+ DependencyResolver getResolver(String from);
+
+ Collection getResolverNames();
+
+ ReportOutputter[] getReportOutputters();
+
+ void setLogNotConvertedExclusionRule(boolean log);
+
+ StatusManager getStatusManager();
+
+ boolean logNotConvertedExclusionRule();
+
+ PatternMatcher getMatcher(String matcherName);
+
+ Collection getMatcherNames();
+
+}
Propchange: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/install/InstallEngineSettings.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/DownloadOptions.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/DownloadOptions.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/DownloadOptions.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/DownloadOptions.java Fri Sep 7 10:53:21 2007
@@ -24,8 +24,6 @@
import org.apache.ivy.core.settings.IvySettings;
public class DownloadOptions {
- private IvySettings settings;
-
private CacheManager cacheManager;
private EventManager eventManager = null; // can be null
@@ -33,23 +31,18 @@
private boolean useOrigin = false;
public DownloadOptions(IvySettings settings, File cache) {
- this(settings, new CacheManager(settings, cache));
+ this(new CacheManager(settings, cache));
}
- public DownloadOptions(IvySettings settings, CacheManager cacheManager) {
- this(settings, cacheManager, null, false);
+ public DownloadOptions(CacheManager cacheManager) {
+ this(cacheManager, null, false);
}
- public DownloadOptions(IvySettings settings, CacheManager cacheManager,
- EventManager eventManager, boolean useOrigin) {
- this.settings = settings;
+ public DownloadOptions(CacheManager cacheManager, EventManager eventManager,
+ boolean useOrigin) {
this.cacheManager = cacheManager;
this.eventManager = eventManager;
this.useOrigin = useOrigin;
- }
-
- public IvySettings getSettings() {
- return settings;
}
public boolean isUseOrigin() {
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java Fri Sep 7 10:53:21 2007
@@ -48,7 +48,6 @@
import org.apache.ivy.core.module.id.ModuleRevisionId;
import org.apache.ivy.core.resolve.IvyNodeCallers.Caller;
import org.apache.ivy.core.resolve.IvyNodeEviction.EvictionData;
-import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.conflict.ConflictManager;
import org.apache.ivy.plugins.matcher.MatcherHelper;
import org.apache.ivy.plugins.resolver.DependencyResolver;
@@ -104,7 +103,7 @@
// //////// CONTEXT
private ResolveData data;
- private IvySettings settings;
+ private ResolveEngineSettings settings;
// //////// DELEGATES
private IvyNodeCallers callers;
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveData.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveData.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveData.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveData.java Fri Sep 7 10:53:21 2007
@@ -28,7 +28,6 @@
import org.apache.ivy.core.event.EventManager;
import org.apache.ivy.core.module.id.ModuleRevisionId;
import org.apache.ivy.core.report.ConfigurationResolveReport;
-import org.apache.ivy.core.settings.IvySettings;
public class ResolveData {
private ResolveEngine engine;
@@ -164,7 +163,7 @@
return options.getCache();
}
- public IvySettings getSettings() {
+ public ResolveEngineSettings getSettings() {
return engine.getSettings();
}
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java Fri Sep 7 10:53:21 2007
@@ -76,7 +76,7 @@
* @see ResolveOptions
*/
public class ResolveEngine {
- private IvySettings settings;
+ private ResolveEngineSettings settings;
private EventManager eventManager;
@@ -98,7 +98,7 @@
* the sort engine to use to sort modules before producing the dependency resolution
* report. Must not be null.
*/
- public ResolveEngine(IvySettings settings, EventManager eventManager, SortEngine sortEngine) {
+ public ResolveEngine(ResolveEngineSettings settings, EventManager eventManager, SortEngine sortEngine) {
this.settings = settings;
this.eventManager = eventManager;
this.sortEngine = sortEngine;
@@ -311,7 +311,7 @@
.getArtifactResolver();
Artifact[] selectedArtifacts = dependencies[i].getSelectedArtifacts(artifactFilter);
DownloadReport dReport = resolver.download(selectedArtifacts, new DownloadOptions(
- settings, cacheManager, eventManager, useOrigin));
+ cacheManager, eventManager, useOrigin));
ArtifactDownloadReport[] adrs = dReport.getArtifactsReports();
for (int j = 0; j < adrs.length; j++) {
if (adrs[j].getDownloadStatus() == DownloadStatus.FAILED) {
@@ -355,7 +355,7 @@
DependencyResolver resolver = settings.getResolver(artifact.getModuleRevisionId()
.getModuleId());
DownloadReport r = resolver.download(new Artifact[] {artifact}, new DownloadOptions(
- settings, cacheManager, eventManager, useOrigin));
+ cacheManager, eventManager, useOrigin));
return r.getArtifactReport(artifact);
}
@@ -905,7 +905,7 @@
return eventManager;
}
- public IvySettings getSettings() {
+ public ResolveEngineSettings getSettings() {
return settings;
}
Added: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngineSettings.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngineSettings.java?rev=573645&view=auto
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngineSettings.java (added)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngineSettings.java Fri Sep 7 10:53:21 2007
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivy.core.resolve;
+
+import org.apache.ivy.core.module.id.ModuleId;
+import org.apache.ivy.plugins.conflict.ConflictManager;
+import org.apache.ivy.plugins.report.ReportOutputter;
+import org.apache.ivy.plugins.resolver.DependencyResolver;
+import org.apache.ivy.plugins.resolver.ResolverSettings;
+
+public interface ResolveEngineSettings extends ResolverSettings {
+
+ void setDictatorResolver(DependencyResolver dictatorResolver);
+
+ boolean debugConflictResolution();
+
+ ReportOutputter[] getReportOutputters();
+
+ DependencyResolver getResolver(ModuleId moduleId);
+
+ String getResolverName(ModuleId mid);
+
+ boolean logNotConvertedExclusionRule();
+
+ ConflictManager getConflictManager(ModuleId mid);
+
+ boolean logModuleWhenFound();
+
+ boolean logResolvedRevision();
+
+}
Propchange: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngineSettings.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngine.java Fri Sep 7 10:53:21 2007
@@ -42,7 +42,6 @@
import org.apache.ivy.core.module.id.ModuleId;
import org.apache.ivy.core.module.id.ModuleRevisionId;
import org.apache.ivy.core.resolve.ResolveOptions;
-import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.parser.ModuleDescriptorParser;
import org.apache.ivy.plugins.parser.ModuleDescriptorParserRegistry;
import org.apache.ivy.plugins.report.XmlReportParser;
@@ -51,9 +50,9 @@
import org.apache.ivy.util.Message;
public class RetrieveEngine {
- private IvySettings settings;
+ private RetrieveEngineSettings settings;
- public RetrieveEngine(IvySettings settings) {
+ public RetrieveEngine(RetrieveEngineSettings settings) {
this.settings = settings;
}
Added: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java?rev=573645&view=auto
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java (added)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java Fri Sep 7 10:53:21 2007
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivy.core.retrieve;
+
+import java.util.Map;
+
+import org.apache.ivy.plugins.parser.ParserSettings;
+
+public interface RetrieveEngineSettings extends ParserSettings {
+
+ boolean isCheckUpToDate();
+
+ Map getVariables();
+
+}
Propchange: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/retrieve/RetrieveEngineSettings.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java Fri Sep 7 10:53:21 2007
@@ -40,10 +40,15 @@
import org.apache.ivy.core.IvyPatternHelper;
import org.apache.ivy.core.NormalRelativeUrlResolver;
import org.apache.ivy.core.RelativeUrlResolver;
+import org.apache.ivy.core.cache.CacheSettings;
+import org.apache.ivy.core.check.CheckEngineSettings;
import org.apache.ivy.core.deliver.DeliverEngineSettings;
+import org.apache.ivy.core.install.InstallEngineSettings;
import org.apache.ivy.core.module.id.ModuleId;
import org.apache.ivy.core.module.status.StatusManager;
import org.apache.ivy.core.publish.PublishEngineSettings;
+import org.apache.ivy.core.resolve.ResolveEngineSettings;
+import org.apache.ivy.core.retrieve.RetrieveEngineSettings;
import org.apache.ivy.core.sort.SortEngineSettings;
import org.apache.ivy.plugins.IvyAware;
import org.apache.ivy.plugins.IvySettingsAware;
@@ -74,6 +79,7 @@
import org.apache.ivy.plugins.resolver.ChainResolver;
import org.apache.ivy.plugins.resolver.DependencyResolver;
import org.apache.ivy.plugins.resolver.DualResolver;
+import org.apache.ivy.plugins.resolver.ResolverSettings;
import org.apache.ivy.plugins.trigger.Trigger;
import org.apache.ivy.plugins.version.ChainVersionMatcher;
import org.apache.ivy.plugins.version.ExactVersionMatcher;
@@ -84,7 +90,9 @@
import org.apache.ivy.util.Message;
import org.apache.ivy.util.url.URLHandlerRegistry;
-public class IvySettings implements SortEngineSettings , PublishEngineSettings , ParserSettings , DeliverEngineSettings {
+public class IvySettings implements SortEngineSettings, PublishEngineSettings, ParserSettings,
+ DeliverEngineSettings, CacheSettings, CheckEngineSettings, InstallEngineSettings,
+ ResolverSettings, ResolveEngineSettings, RetrieveEngineSettings {
private static final String DEFAULT_CACHE_ARTIFACT_PATTERN =
"[organisation]/[module]/[type]s/[artifact]-[revision](.[ext])";
@@ -1085,6 +1093,8 @@
private void init(Object obj) {
if (obj instanceof IvySettingsAware) {
((IvySettingsAware) obj).setSettings(this);
+ } else if (obj instanceof DependencyResolver){
+ ((DependencyResolver) obj).setSettings(this);
}
if (obj instanceof IvyAware) {
// TODO
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java Fri Sep 7 10:53:21 2007
@@ -35,8 +35,6 @@
import org.apache.ivy.core.search.ModuleEntry;
import org.apache.ivy.core.search.OrganisationEntry;
import org.apache.ivy.core.search.RevisionEntry;
-import org.apache.ivy.core.settings.IvySettings;
-import org.apache.ivy.plugins.IvySettingsAware;
import org.apache.ivy.plugins.latest.LatestStrategy;
import org.apache.ivy.plugins.matcher.Matcher;
import org.apache.ivy.plugins.matcher.NoMatcher;
@@ -49,8 +47,7 @@
/**
* This abstract resolver only provides handling for resolver name
*/
-public abstract class AbstractResolver implements DependencyResolver, IvySettingsAware,
- HasLatestStrategy {
+public abstract class AbstractResolver implements DependencyResolver, HasLatestStrategy {
/**
* True if parsed ivy files should be validated against xsd, false if they should not, null if
@@ -64,7 +61,7 @@
private String changingMatcherName = PatternMatcher.EXACT_OR_REGEXP;
- private IvySettings settings;
+ private ResolverSettings settings;
/**
* The latest strategy to use to find latest among several artifacts
@@ -80,11 +77,11 @@
private String namespaceName;
- public IvySettings getSettings() {
+ public ResolverSettings getSettings() {
return settings;
}
- public void setSettings(IvySettings ivy) {
+ public void setSettings(ResolverSettings ivy) {
settings = ivy;
}
@@ -170,7 +167,7 @@
* avoid the download
*/
public boolean exists(Artifact artifact) {
- DownloadReport dr = download(new Artifact[] {artifact}, new DownloadOptions(getSettings(),
+ DownloadReport dr = download(new Artifact[] {artifact}, new DownloadOptions(
new CacheManager(getSettings(), getSettings().getDefaultCache()), null, true));
ArtifactDownloadReport adr = dr.getArtifactReport(artifact);
return adr.getDownloadStatus() != DownloadStatus.FAILED;
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/CacheResolver.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/CacheResolver.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/CacheResolver.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/CacheResolver.java Fri Sep 7 10:53:21 2007
@@ -37,7 +37,6 @@
import org.apache.ivy.core.search.ModuleEntry;
import org.apache.ivy.core.search.OrganisationEntry;
import org.apache.ivy.core.search.RevisionEntry;
-import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.resolver.util.ResolvedResource;
import org.apache.ivy.util.Message;
@@ -45,7 +44,7 @@
public CacheResolver() {
}
- public CacheResolver(IvySettings settings) {
+ public CacheResolver(ResolverSettings settings) {
setSettings(settings);
setName("cache");
}
@@ -158,7 +157,7 @@
}
}
- private void ensureConfigured(IvySettings settings, File cache) {
+ private void ensureConfigured(ResolverSettings settings, File cache) {
if (settings == null || cache == null) {
return;
}
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/DependencyResolver.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/DependencyResolver.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/DependencyResolver.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/DependencyResolver.java Fri Sep 7 10:53:21 2007
@@ -95,4 +95,6 @@
RevisionEntry[] listRevisions(ModuleEntry module);
void dumpSettings();
+
+ void setSettings(ResolverSettings settings);
}
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java Fri Sep 7 10:53:21 2007
@@ -36,7 +36,6 @@
import org.apache.ivy.core.search.ModuleEntry;
import org.apache.ivy.core.search.OrganisationEntry;
import org.apache.ivy.core.search.RevisionEntry;
-import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.resolver.util.ResolvedResource;
import org.apache.ivy.util.Message;
@@ -89,7 +88,7 @@
}
}
- public void ensureConfigured(IvySettings settings) {
+ public void ensureConfigured(ResolverSettings settings) {
if (settings != null && (root == null || pattern == null)) {
if (root == null) {
String root = settings.getVariable("ivy.ibiblio.default.artifact.root");
@@ -213,7 +212,7 @@
}
public DownloadReport download(Artifact[] artifacts, DownloadOptions options) {
- ensureConfigured(options.getSettings());
+ ensureConfigured(getSettings());
return super.download(artifacts, options);
}
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IvyRepResolver.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IvyRepResolver.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IvyRepResolver.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IvyRepResolver.java Fri Sep 7 10:53:21 2007
@@ -40,7 +40,6 @@
import org.apache.ivy.core.search.ModuleEntry;
import org.apache.ivy.core.search.OrganisationEntry;
import org.apache.ivy.core.search.RevisionEntry;
-import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.resolver.util.ResolvedResource;
import org.apache.ivy.util.Message;
import org.apache.ivy.util.XMLHelper;
@@ -69,7 +68,7 @@
public IvyRepResolver() {
}
- private void ensureArtifactConfigured(IvySettings settings) {
+ private void ensureArtifactConfigured(ResolverSettings settings) {
if (settings != null && (artroot == null || artpattern == null)) {
if (artroot == null) {
String root = settings.getVariable("ivy.ivyrep.default.artifact.root");
@@ -93,7 +92,7 @@
}
}
- private void ensureIvyConfigured(IvySettings settings) {
+ private void ensureIvyConfigured(ResolverSettings settings) {
if (settings != null && (ivyroot == null || ivypattern == null)) {
if (ivyroot == null) {
String root = settings.getVariable("ivy.ivyrep.default.ivy.root");
@@ -281,7 +280,7 @@
}
public DownloadReport download(Artifact[] artifacts, DownloadOptions options) {
- ensureArtifactConfigured(options.getSettings());
+ ensureArtifactConfigured(getSettings());
return super.download(artifacts, options);
}
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/RepositoryResolver.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/RepositoryResolver.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/RepositoryResolver.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/RepositoryResolver.java Fri Sep 7 10:53:21 2007
@@ -34,7 +34,6 @@
import org.apache.ivy.core.module.id.ModuleRevisionId;
import org.apache.ivy.core.report.DownloadReport;
import org.apache.ivy.core.resolve.DownloadOptions;
-import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.latest.LatestStrategy;
import org.apache.ivy.plugins.repository.AbstractRepository;
import org.apache.ivy.plugins.repository.Repository;
@@ -226,7 +225,7 @@
Message.debug("\t\trepository: " + getRepository());
}
- public void setSettings(IvySettings settings) {
+ public void setSettings(ResolverSettings settings) {
super.setSettings(settings);
if (settings != null) {
if (_alwaysCheckExactRevision == null) {
Added: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java?rev=573645&view=auto
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java (added)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java Fri Sep 7 10:53:21 2007
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivy.plugins.resolver;
+
+import java.util.Collection;
+
+import org.apache.ivy.core.cache.CacheSettings;
+import org.apache.ivy.plugins.latest.LatestStrategy;
+import org.apache.ivy.plugins.namespace.Namespace;
+import org.apache.ivy.plugins.version.VersionMatcher;
+
+public interface ResolverSettings extends CacheSettings {
+
+ LatestStrategy getLatestStrategy(String latestStrategyName);
+
+ LatestStrategy getDefaultLatestStrategy();
+
+ Namespace getNamespace(String namespaceName);
+
+ Namespace getSystemNamespace();
+
+ String getVariable(String string);
+
+ void configureRepositories(boolean b);
+
+ VersionMatcher getVersionMatcher();
+
+ void filterIgnore(Collection names);
+
+}
Propchange: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ResolverSettings.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/URLResolverTest.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/URLResolverTest.java?rev=573645&r1=573644&r2=573645&view=diff
==============================================================================
--- incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/URLResolverTest.java (original)
+++ incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/URLResolverTest.java Fri Sep 7 10:53:21 2007
@@ -335,7 +335,7 @@
// test to ask to download
DefaultArtifact artifact = new DefaultArtifact(mrid, pubdate, "mod1.1", "jar", "jar");
DownloadReport report = resolver.download(new Artifact[] {artifact}, new DownloadOptions(
- _settings, new CacheManager(_settings, _cache), null, true));
+ new CacheManager(_settings, _cache), null, true));
assertNotNull(report);
assertEquals(1, report.getArtifactsReports().length);