Comments (11)
+1
from gradle-plugins.
Encountering the same problem myself. I'm currently stuck with version 0.0.5 and Gradle 1.12
from gradle-plugins.
It looks like b03d091 might have flipped the extendsFrom
for some reason. provided
and optional
used to extend from compile
and now it appears to be the other way around.
@bclozel Was this intentional as part of the IDEA 13 fix?
from gradle-plugins.
@philwebb Yes, that was part of the fix. Our previous implementation of that scope was somewhat flawed and didn't work all the time (in some cases, those provided dependencies were transitive and exported with the artifact... that's not what you want!).
When looking at this figure and knowing that we want provided dependencies to:
- be available when compiling sources and tests
- not to be there at runtime nor when used as a dependency (the default scope)
That's why the compile scope extends this one, and we remove those dependencies from the default one. To be consistent, we should remove them from the runtime scope.
configuration.allDependencies.all {
dep -> configurations.runtime.exclude(group: dep.group, module: dep.name)
}
I later found a blog post that describes all this.
Like IDEs and Gradle (if I get it right...), you should probably build your JAR using the default
scope and things should work as expected.
from gradle-plugins.
I've started to move the repo to https://github.com/spring-gradle-plugins/propdeps-plugin. Would reverting the main change (see https://github.com/philwebb/propdeps-plugin/tree/gh-1) break IDEA again?
from gradle-plugins.
@philwebb Yes, and other use cases as well - provided dependencies were transitive in the spring-framework build prior that change.
@costin @mlem Are you building a custom JAR with the compile scope as well?
@fs111 could you try the same thing using configurations.default
and see if the JAR get properly created?
from gradle-plugins.
I tried the configurations.default thing in a build, which also uses the fatJar plugin, and that does not work. It works with 0.0.5 though.
from gradle-plugins.
I've been watching this thread.
@fs111 , I, too, am using Gradle for Hadoop projects. Using configurations.default
works for me with Gradle 2.0 and propdeps-plugin-0.0.7
from gradle-plugins.
@fs111 Do you have a complete example project that we could take a look at? Perhaps you could share something on GitHub?
from gradle-plugins.
@k-mack can you share an example? I cannot, for the life of me, get that to work.
from gradle-plugins.
The propdeps plugin has moved to the Spring Attic and is no longer maintained.
from gradle-plugins.
Related Issues (20)
- Plugin fails with spring-ws as DefaultConfiguration_Decorated isn't serializable HOT 2
- IO Plugin custom `springIoVersions` from file HOT 2
- "You can't change a configuration which is not in unresolved state!" when using propdeps and Gradle 2.0-rc-1 HOT 6
- Not compatible with IntelliJ idea gradle integration HOT 1
- propdeps-plugin appears to be incompatible with Gradle 2.0 HOT 12
- Inter project dependencies do not work with default configuration HOT 1
- Add propdeps-plugin to Gradle Plugins Portal HOT 3
- propdeps-plugin optional scope creates invalid pom HOT 2
- Can't map custom scope when 'propdeps-maven' used HOT 1
- Plugin with id 'propdeps' not found. HOT 3
- If a dependency is added to both compile and provided, it shows up only provided in IDE HOT 1
- Gradle 2.x fails when examples from README are used HOT 3
- propdeps-plugin doesn't work with maven-publish and other plugins HOT 4
- configuration with name 'provided' ... already exists HOT 2
- Where is spring-boot-gradle-plugin ? HOT 1
- gradle cleanIdea eclipse ERROE HOT 1
- propdeps-plugin - Is provided scope still needed now that compileOnly exists? HOT 4
- Gradle 4.0 Support HOT 2
- spring boot configuration annotation processor not found in classpath HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gradle-plugins.