Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Remove the 'file:' map mechanism for creating publication artifacts (source:) supercedes it (REVIEW-1217)

  1. … 10 more files in changeset.
Tidied up construction of NotationParsers (REVIEW-1214) - Replaced TopLevelNotationParser with Factory<NotationParser<T>> - Renamed *NotationParser to *NotationParserFactory where appropriate - Still need to look at ProjectDependencyNotationParser as it doesn't follow the pattern

    • -0
    • +182
    ./publish/ivy/internal/artifact/IvyArtifactNotationParserFactoryTest.groovy
  1. … 20 more files in changeset.
Use TaskDependency.add(TaskDependency) to avoid a custom artifact subclasses (REVIEW-1542, REVIEW-1522)

  1. … 6 more files in changeset.
Validate IvyArtifacts in service layer when publishing - Moved some checks from domain into ValidatingIvyPublisher - Added some validation for artifact attributes

  1. … 6 more files in changeset.
Validate publication coordinates when publishing to ivy repository - Introduced IvyPublisher interface and ValidatingIvyPublisher implementation - Added more tests for support of different characters in ivy publishing, including resolving the published modules

    • -0
    • +99
    ./publish/ivy/internal/publisher/ValidatingIvyPublisherTest.groovy
  1. … 10 more files in changeset.
Handle null values for ext, type, classifier on ivy artifact

  1. … 3 more files in changeset.
Added classifier support to ivy publishing - Honour classifier value in filename, archive, or publishartifact - Generate correct maven namespaced element in ivy.xml

  1. … 11 more files in changeset.
Added 'conf' attribute to IvyArtifact, allow this to specified in ivy.xml - Don't supply conf attribute by default: will use the ivy.xml default value of '*' - Use the configuration value of a ModuleDependency to get the right hand side of the <dependency> configuration mapping. - Do a lot more ivy.xml configuration checking in integ tests.

  1. … 14 more files in changeset.
Moved setting of IvyArtifacts back off IvyConfiguration and onto IvyPublication - IvyConfiguration is a lightweight representation of a configuration element in ivy.xml - Copy runtime dependencies from Component when configured, rather than holding onto Component and doing this lazily - Added IvyDescriptorFileGenerator for translating directly from IvyPublication to ivy.xml - Translating IvyPublication -> org.apache.ivy.ModuleDescriptor -> ivy.xml meant that we couldn't produce certain ivy.xml features (like conf="*"). - Updated MavenPomFileGeneratorTest to use XmlSlurper rather than comparing actual file output. - Removed custom configurations from many integ tests - still need to add ability to set configuration on artifact/dependency - still need to add tests for configurations in ivy.xml

    • -0
    • +221
    ./publish/ivy/internal/tasks/IvyDescriptorFileGeneratorTest.groovy
  1. … 16 more files in changeset.
Reorganised the package structure of ivy.publish - Moved IvyPublisher and related service classes into internal.publisher - Moved tasks.internal -> internal.plugins to be more consistent

    • -0
    • +1
    ./publish/ivy/tasks/internal/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 12 more files in changeset.
REVIEW-1268: More publication cleanup - Use instantiator to decorate IvyArtifactSet - Renamed IvyArtifactSet.addArtifact() -> artifact() - Allow 'source' key in map-based artifact notation - Don't bind IvyArtifactNotationParser to Project: use FileResolver

  1. … 7 more files in changeset.
Started rolling improvements to maven publishing over into ivy publishing (REVIEW-1268) - Prevent publishing artifact that is directory - Better error messages for publication validation failures - Many integration test improvements for ivy publication - Test for non-ascii characters in artifact names - Test for org/module/artifact/version/etc values containing whitespace

  1. … 14 more files in changeset.
ArtifactFile only cares about the version string, not the module (REVIEW-1218)

  1. … 7 more files in changeset.
Introduced IvyConfiguration to ivy-publish DSL - Added IvyConfigurationContainer and IvyConfiguration with implementations - IvyArtifacts are now added to a particular IvyConfiguration of an IvyPublication - Removed various IvyPublication.artifact* methods - Specifying a component to publish constructs the "default" and "runtime" configurations - Published artifacts are the union of artifacts from all configurations - Ivy descriptor is generated from declared configurations, rather than assuming a fixed set.

  1. … 17 more files in changeset.
Ensure that IvyArtifact and MavenArtifact do not return null values that cause publishing to fail

  1. … 7 more files in changeset.
Added final artifact customisation methods to IvyPublication - Currently these methods are planned to move to IvyConfiguration - Still need DSL docs etc

  1. … 3 more files in changeset.
Validate existence of artifact files when publishing with ivy-publish

  1. … 3 more files in changeset.
Set IvyArtifact.type == extension for file-based artifacts. - Need to decide if we need to support classifier in published ivy patterns.

  1. … 7 more files in changeset.
Started adding custom artifact support to ivy-publish plugin (based on maven-publish support) - Added IvyArtifact and IvyArtifactSet - Replaced use of PublishArtifact with IvyArtifact - Added IvyPublication.artifact(source) and IvyPublication.artifact(source, config) - Added IvyArtifactNotationParser and various implementations of IvyArtifact for file/archive/publishArtifact

    • -2
    • +29
    ./publish/ivy/plugins/IvyPublishPluginTest.groovy
    • -1
    • +1
    ./publish/ivy/tasks/internal/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 29 more files in changeset.
Cleaned up configuration of descriptorFile on IvyPublication - Can no longer specify descriptorFile directly on publication, this is done by setting destination on GenerateIvyDescriptor task - Default destination is configured directly on GenerateIvyDescriptor task - GenerateIvyDescriptor task supplies ivy descriptor to IvyPublication as a PublishArtifact

    • -5
    • +5
    ./publish/ivy/tasks/internal/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 6 more files in changeset.
Codenarc fix

DefaultIvyModuleDescriptor is no longer Buildable - Wire generator task directly into DefaultIvyPublication - All dependencies of PublishToIvyRepository are managed via IvyPublication.getPublishableFiles()

    • -12
    • +1
    ./publish/ivy/tasks/PublishToIvyRepositoryTest.groovy
    • -12
    • +6
    ./publish/ivy/tasks/internal/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 7 more files in changeset.
Moved XmlTransformer to a dedicated package.

  1. … 33 more files in changeset.
Replaced IvyModuleDescriptor.file with IvyPublication.descriptorFile

  1. … 6 more files in changeset.
Change the ivy module descriptor task name pattern to “generate«Publication-name»IvyModuleDescriptor”, using "" if the publication name is “ivy”.

    • -4
    • +4
    ./publish/ivy/tasks/internal/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 1 more file in changeset.
Don't have the IvyArtifactRepository create the IvyPublisher, use the DependencyResolver from it instead to create it.

This removes any trace of the new publishing stuff from core/coreImpl and allows some simplification.

We may find over time that this leads to some awkward duplication, but for the time being I'm favouring touching as little as possible in existing code.

    • -56
    • +1
    ./publish/ivy/tasks/PublishToIvyRepositoryTest.groovy
  1. … 15 more files in changeset.
Some minor improvements too the thing that creates descriptor generation tasks for ivy publications.

    • -0
    • +95
    ./publish/ivy/tasks/internal/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 1 more file in changeset.
Hoist the generation of the Ivy module descriptor up to a separate task.

  1. … 28 more files in changeset.
Rename “IvyRepositoryPublish” task to “PublishToIvyRepository”.

    • -143
    • +0
    ./publish/ivy/tasks/IvyRepositoryPublishTest.groovy
    • -0
    • +143
    ./publish/ivy/tasks/PublishToIvyRepositoryTest.groovy
  1. … 4 more files in changeset.
Change ivy-publish plugin to not create “main” things, and to use a different task naming strategy.

Changes:

1. The implicit publication is named “ivy” (reversion)

2. No repository is created by default (reversion)

3. Dynamically created tasks are named “publish«PUBLICATION NAME»PublicationTo«REPOSITORY NAME»Repository.

The task name leaves something to be desired.

  1. … 18 more files in changeset.