uklance / gradle-maven-share Goto Github PK
View Code? Open in Web Editor NEWMigrate from Maven to Gradle by sharing dependencies and more
License: Apache License 2.0
Migrate from Maven to Gradle by sharing dependencies and more
License: Apache License 2.0
Currently everything is happening in the configuration phase
New approach
MavenSharePlugin
applies MavenShareRootPlugin
MavenShareRootPlugin
creates shareRoot
taskMavenSharePlugin
creates shareProject
taskjavaCompile
task dependsOn shareProject
shareProject
depends on shareRoot
Configurations.all(Action<Configuration> action)
applies the action to all configurations plus any future contributions added to the project
https://docs.gradle.org/current/javadoc/org/gradle/api/DomainObjectCollection.html#all%28org.gradle.api.Action%29
This could be used to wire the task into the DAG (configuration.dependsOn(task))
See issue #6 and the associated commit / revert
type
or systemPath
in a maven dependencyclassifier
where dependencyProject
is not nullSuggest a solution
exclude
the dependcyLast time I tested, single project doesn't work
Possible causes:
project.subprojects { Project subproject ->
in the root pluginproject.afterEvaluate { ... }
block in the root pluginRename visitHierarchy
to visitAncestry
getPropertynames()
should be getPropertyNames()
add getProperties()
(ensure unmodifiable map)
MavenShareRootPlugin.groovy
depNotation = [group: dep.groupId, name: dep.artifactId, version: dep.version]
if (dep.classifier) {
depNotation['classifier'] = dep.classifier
}
Allows compilation in java < 1.8
final Map<String, Dependency> managementMap = new LinkedHashMap<>();
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.