Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fixed Ivy publication of project dependencies with customised publication coordinates - If depended project has no PublishingExtension, use project properties for dependency coordinates - If depended project has PublishingExtension, then add dependency for each IvyPublication - Moved mapping of ModuleDependency->IvyDependency into IvyPublication (out of IvyDescriptorFileGenerator) - Even closer to having model for customising dependencies...

  1. … 7 more files in changeset.
For consistency with maven-publish plugin, renamed descriptor file task in ivy-publish plugin - from generate${publication.name}IvyModuleDescriptor -> generateDescriptorFileFor${publication.name}Publication

    • -2
    • +2
    ./publish/ivy/internal/plugins/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 8 more files in changeset.
Can now explicitly set publication coordinates for a Maven or Ivy publication - Use a convention mapping to set default artifact name in ivy publication (temporary until we get lazy configuration sorted properly)

  1. … 9 more files in changeset.
Changed DefaultTaskContainer, DefaultSourceSetContainer and DefaultConfigurationContainer to nag about the use of deprecated add() methods.

  1. … 38 more files in changeset.
Switch PublicationContainer to use new Polymorphic container infrastructure

  1. … 21 more files in changeset.
Validate that artifacts are not duplicates when publishing - Also check that no declared artifact duplicates the generated meta-data file. - Didn't bother checking maven-metadata.xml (it would require a concerted effort to clash with this, including setting version = 'metadata')

  1. … 4 more files in changeset.
REVIEW-1693: Report the illegal character in error message when attempting to publish with an invalid identifier character.

  1. … 2 more files in changeset.
REVIEW-1651: Use IvyXmlModuleDescriptorParser for verifying ivy.xml before publishing - Added DisconnectedParserSettings to avoid attempts at download when verifying an ivy.xml that extends another

This is the 2nd commit message:

  1. … 5 more files in changeset.
Fixed overly aggressive find/replace

Restrict characters allowed in Ivy and Maven publication identifiers - Currently allow all Unicode except ISO Control Chars, '/' and '\' - Do not (yet) handle inability to publish to a Windows FS when characters are not permitted: fails silently. - Added single quote to the set of tested characters, adding relevant escaping in tests - Extract common field validation code into PublicationFieldValidator

  1. … 10 more files in changeset.
Better test coverage for escaping and encoding in PomFile and IvyDescriptorFile generators (REVIEW-1585, REVIEW-1554)

  1. … 3 more files in changeset.
Reworked default values and validation for IvyPublication and MavenPublication - Default IvyArtifact.name to module name on construction, rather than at time of writing ivy.xml (REVIEW-1678) - Don't permit null values for IvyArtifact.[name|extension|type] or MavenArtifact.extension - Allow empty string for extention only - Updated javadocs for MavenArtifact and IvyArtifact, adding @Nullable where appropriate (REVIEW-1572, REVIEW-1575)

  1. … 17 more files in changeset.
REVIEW-1651: Renamed IvyProjectIdentity -> IvyPublicationIdentity

  1. … 8 more files in changeset.
REVIEW-1570: Added InvalidIvyPublicationException REVIEW-1576: Ensure consistent error message for invalid publication exceptions

  1. … 7 more files in changeset.
Added PublicationAwareRepository to represent a repository that knows how to publish stuff. This allows us to distinguish between converting a repository definition to a DependencyResolver to expose via the DSL for backwards compatiblity purposes, and converting a repository definition to something that can publish. This also allows different types to be used in the DSL and for publishing (we don't make use of this yet).

  1. … 12 more files in changeset.
Don't assume that all dependencies for a Usage are "runtime" in Ivy - Added IvyDependency api and impl which wraps a ModuleDependency and conf mapping string - Only currently used by components: user configuration of dependencies is not supported.

  1. … 15 more files in changeset.
Map Ivy configurations for component from details of component, rather than wiring logic in IvyPublication - Added SoftwareComponent.getUsages() which returns a set of named Usage - Each usage has a set of artifacts and dependencies - Dependencies are not yet mapped properly into ivy - Mapping of usage into Maven is very naive

  1. … 9 more files in changeset.
REVIEW-1544: Simplified IvyDescriptorFileGenerator

  1. … 1 more file in changeset.
REVIEW-1522, REVIEW-1544: Move classes and tests to better packages

    • -0
    • +88
    ./publish/ivy/internal/plugins/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
    • -0
    • +104
    ./publish/ivy/internal/plugins/IvyPublishDynamicTaskCreatorTest.groovy
    • -89
    • +0
    ./publish/ivy/tasks/internal/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 3 more files in changeset.
REVIEW-1218: Removed magic parsing of filename when constructing publication artifact from file - Only carry extension from file to published artifact: everything else will be configured explicitly.

  1. … 6 more files in changeset.
REVIEW-1519: Create separate ivy configurations for artifacts and dependencies when publishing component - jar/war artifact is in "master" configuration - runtime deps are in "runtime" configuration - "default" extends ["master", "runtime"] - Added NamedDomainObjectContainer.maybeCreate(name)

  1. … 10 more files in changeset.
REVIEW-1519: Don't use file-name, PublishArtifact.name or ArchiveTask.baseName as artifact name when publishing to ivy - Default IvyArtifact.name to null, allowing it to inherit the published module name - The plan is to decouple how things are generated in the build from how they are published - Allowed multiple artifacts with same name in IvyDescriptor test code

  1. … 12 more files in changeset.
Started to verify resolution of published modules in IvyPublish integ tests - Fixed bug in module published from empty publication

  1. … 4 more files in changeset.
Reworked package structure to remove package cycle (both ivy & maven)

    • -2
    • +2
    ./publish/ivy/tasks/internal/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 48 more files in changeset.
Introduced separate identifier for ivy publications - Use IvyProjectIdentity instead of Module for identifying ivy publication - Ivy publication identifier is now based on a snapshot of project state at time publication was created - Fixed ivy publication so that ivy status is correctly populated in descriptor - Added some basic integ test coverage for ivy status - Moved MavenProjectIdentity.getPackaging() onto MavenPomInternal

    • -32
    • +24
    ./publish/ivy/plugins/IvyPublishPluginTest.groovy
  1. … 27 more files in changeset.
Some tweaks to the output of `gradle tasks` when using the publishing plugins.

    • -2
    • +1
    ./publish/ivy/tasks/internal/IvyPublicationDynamicDescriptorGenerationTaskCreatorTest.groovy
  1. … 7 more files in changeset.
Added FileResolver.asNotationParser() - for cases where we need to convert notation first to a File before transforming to an end result - Single location to differentiate between file notation errors & file resolution errors

  1. … 5 more files in changeset.
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.