Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
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 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

  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, or ArchiveTask.baseName as artifact name when publishing to ivy - Default 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)

  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

  1. … 27 more files in changeset.
Some tweaks to the output of `gradle tasks` when using the publishing plugins.

  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

  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

  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

  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

  1. … 12 more files in changeset.