-
-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release version 3.0 #113
Comments
This weekend I can merge the dokka gh-pages branch and tag 3.0.0-rc1 |
Ok, nice. Thanks for your answer! Since we automated the release process, if the configuration caching feature is ready in a few weeks, that's not a big deal, we will be able to release a 3.1 version. I don't have much time currently to have a look to this configuration caching topic. Have a nice week-end and I'll have a look at the rc1 release. |
I posted a question on the gradle community slack https://gradle-community.slack.com/archives/CA745PZHN/p1598133269008800 I can see the |
Thanks for this work! Hope it will be available soon! As far as I remember, the version 2.2.4 was published immediately, no? Is because there was a publication policy change? Or because it is a major version number? 🤔 |
I think it's a bug with the plugin portal and that it doesn't recognize the plugin and I'm worried we might have the same issue if we try to publish anything from 2.x after 3.x has been approved |
Ok. Let's wait for a response, they say they will contact you in a few days. And maybe this will be faster in the Gradle community Slack. Hope this will be solved soon! 🤞 And do you know why the
|
I can't reproduce it locally, I think something in server is happening on the tag, but as it builds fine with the tag locally I'm not sure where it fails, I've pushed another branch and that worked fine so not sure if we need to do anything |
I also can't reproduce it locally and indeed, it builds on the master branch. I probably has to do with the tag. The only other Gradle build that is triggered when pushing a tag is the Publish one and it triggers on new tag and not on new commit on any branch and this one works. It would be nice if it could work but that's not too much annoing since we can push to master, wait for the build to be successful, and then push the tag, which will trigger the release. |
rc1 available on the plugin portal now 🎉 |
Nice! I just upgraded a project in which I use the plugin and I noticed one issue: the group id of the plugin changed. It used to be It is not visible if you load the plugin in the I don't know why, I don't believe we changed something related to that and noticed that there are many plugins published with this prefix. This may be due to a recent change in the Gradle plugin publish plugin? I'll investigate that. If this is the new standard, I will update the documentation and add this to the breaking changes. |
Looking at the buildscripts it seems like we dropped the |
I guess this makes for our quickest rc2 :^) |
Hum, it sounds like I deleted that, probably because it was redundant with the group and project name declaration. I should have read the docs before. Sorry, and thanks for the fix! I'll test the rc2 once it will be published. And this is probably the reason why the publication needed to be validated. The rc1 was published under a group that did not exist. |
rc2 is out |
Thanks and I confirm you that it works as expected! Nice! 🎉 |
I have been using this rc2 version since its release and it's working well for me. I think we can release it as a stable version, unless some issues were discovered by anybody? I wrote a release checklist document to ensure we don't forget anything. @deepy if you think I forgot anything, please tell me or directly add it to the file. |
Looks good to me! Testing out the automatic proxy support in 3 I'm seeing some mixed results, namely that in reality most seem to only use HTTP proxies and as we currently put I have some additional checks to do in regards to this but it should be pretty quick and hopefully we can create the release today. |
Regarding the proxy support, I think I did not understand what you mean. We configure npm nearly the same way as Gradle is configured. If an HTTP proxy is set, we set a HTTP proxy, if an HTTPS proxy is set, we set an HTTPS proxy, if both are set, we set both. I wrote nearly because there is at least one thing that we cannot reproduce. It is possible to ignore the proxy for a host name or a host name + a port in Gradle, and in npm we can only ignore the proxy for a host name, so we remove the ports from the Gradle proxy ignore configuration. We probably should explain that in the documentation. |
Proxy support is also not working for me because it's replacing the protocol here |
Could you show me your configuration please? Would you be using a HTTP URL for a HTTPS proxy or the opposite? If it is the case, is this supported by I added a small paragraph regarding the proxy in the usage page. |
At work we use As for Gradle we do
I've reached out to some friends who are also forced to use big enterprisey proxy setups but haven't got an answer yet. But one thing I'm considering is that maybe we should check for the presence of |
That is similar to our configuration.
Environment variables are used in our default config because of the inconsistent support between tools. Note that e.g. curl only accepts the lowercase version:
|
@bsautel I think in addition to my previous comment we should probably default to http, it doesn't seem like many organisations use that. |
Thanks for all these precisions.
Personally I don't know very well this topic, I have never had to use an HTTP proxy. I guess I am lucky! 😁 |
I don't know how Java picks the correct protocol, but I suspect it simply uses HTTP for both of them. So for context, HTTP has a bunch of useful verbs like GET, HEAD, PUT, POST, DELETE. With HTTP proxies you're making a HTTP request with CONNECT, asking the server to create a connection to somewhere else for you. In the case of big corporate proxies you usually force everyone to go through a proxy which creates fake SSL certificates signed by an internal CA and then pretend that the website presented you with that certificate instead of their real one, effectively doing a man-in-the-middle attack on their own employees to be able to access their traffic. So we should probably always use |
#120 contains fixes for npm, still needs some final things for yarn and also need to see that the tests pass. |
Automatic proxy configuration fixes for #113
There were a bit too many failing tests in #119 for me to get that in time for rc3, but now the proxy functionality should be done. |
do you have any idea why script = project.file('node_modules/requirejs/bin/r.js') is no longer working? and i need to call script.set() now Cannot cast object '/xxxxxxxx/node_modules/requirejs/bin/r.js' with class 'java.io.File' to class 'org.gradle.api.file.RegularFileProperty' |
Yes, this version 3.0 contains multiple breaking changes that are explained in the changelog. The issue you are facing is explained in the second item of the breaking changes. It has to do with Gradle lazy properties. |
I seem to remember there being something strange happening when we tried to add convenience methods for the kotlin users. And I recently saw this appear in the gradle community slack, which sounds familiar gradle/gradle#13623 But I think at this point we have better test coverage, so it shouldn't be hard to give it another try. |
Having used kotlin buildscripts more lately I think the But with proxy support fixed and those other issues that popped up right after also fixed, I think we should probably release 3.0 now before I accidentally end up creating another RC that really could've been a patch. There's some things left though:
But I think we can probably save those for later and release 3.0 now, what do you think @bsautel? |
Adding some chores I need to do before 3.0 can be released
|
Hello @deepy and sorry, I was really busy those latest months and did not have any time to contribute to the project. It sounds like we can indeed release the 3.0 version. None of the issues you are talking about seems to require a backward compatibility break, so we will be able to introduce them progressively in the future 3.x releases. I'll try to have a look in the coming days to issue #111 and PR #128. |
Hey @bsautel, no worries, time is the most valuable resource all of us have and while we appreciate all time we get since this is volunteer driven it's expected that life will happen. And life should come first, always take any time you need, there's no rush here :-) To properly finish #111 we probably need to break backwards compatibility by moving the |
I could have a look to #111. I could go one step further, but we still need to add some unit tests to ensure a better coverage of the configuration cache option. Regarding the ivy repository, the problem is because the repository is added to the project at the beginning of the |
Awesome work! Yeah, that's the way I'm reading it, we're not allowed to touch the Though from memory, with #128 we're about 3/4 of the way to fully(-ish?) support it! |
As far as I remember, we used to use the @deepy, I fixed the unit tests after you moved the repository plugin declaration from the task to the plugin. |
Yeah, I'd been avoiding I'll see if I can fix the last test right now |
Oh, no, that was a legitimate test failure and you fixed it 🌟 |
@deepy do you want we change the proxy configuration boolean to an enum as you suggested in #122? This would be more flexible in the future if we need to make some adjustments. |
3.0.0-rc7 is now out, it has all the nice features and hopefully no configuration-cache bugs 🎉 |
If my commit is satisfying to close #134 it sounds like we can release the 3.0.0 version. |
3.0.0 is now released 🎉 |
Is this issue ready to be closed? |
@deepy as far as I know, the 3.0 branch is ready to be deployed. All the tests are successful even if some of them are a little unstable (seems to come from GitHub Actions hosts or npm or yarn that sometimes fail and not from our code).
It remains a few things that I know you wanted to do, such as publishing to bintray or publishing the API docs.
I am wondering whether this is really blocking. The current production release does not have all that. That will provide some additional value for sure, but it will be for a future release (3.1 for instance?).
On the technical point of view, there is a GitHub Actions workflow that triggers on tag push and that we could test to release the version 2.2.4 if my memory is right, so I think we are ready.
What do you think about that?
Multiple users of the plugin asked us when this version will be released. And the current README file explains how to use the Kotlin rewrite version whereas it is not yet released. Not very good user experience.
Have a nice day!
The text was updated successfully, but these errors were encountered: