Comments (10)
Really cool idea. I like the gamification part of it :)
from shipkit.
Hi. I would like to contribute. Can you assign this task to me?
@mstachniuk I have question about X value. What does it mean incremented by each generation? Every invocation of updateReleaseNotes in gradle? or every new version of release note file for example every commit increment or merge increment the counter?
from shipkit.
Hi @anicos You can take this task, but we can't assign you because you are not a core team member. But we will remember about you :-)
Regarding X
value: By default each successful build on Travis-CI:
- generate release notes
- create git tag
- commit this changes to master
Of course shipkit make more other things, but this are important in scope of this ticket. If this line doesn't exist in release notes file you need to assign X = 1
. If it exists, you have to increment X. This should happens in updateReleaseNotes
task. By testing this task locally, if you call updateReleaseNotes
twice, X
should be also incremented x2. It's not a problem so long you don't commit it ;-)
I hope it's more clear now, if not please ask me ;-)
from shipkit.
@mstachniuk thanks for answer. I see that are two implementation of formatter DetailedFormatter and [NotableFormatter] (https://github.com/mockito/shipkit/blob/master/src/main/groovy/org/shipkit/internal/notes/format/NotableFormatter.java) but NotableFormatter is unused. Where I should put this functionality? Only in DetailedFormatter? Do you have any chat? Conversation on github is not the fastest way to communication :)
from shipkit.
Probably it would be enough to add it to DetailedFormatted, as you said NotableFormatter is not used.
I'll add @szczepiq to the conversation because he was the one who gave up on notable notes so he knows best the reason for keeping NotableFormatter.
We have a slack account and google email group but it is good to keep this kind of discussion here, I think.
from shipkit.
@anicos I send you an invitation to chat via Google Hangout. You can implement that only in DetailedFormatted
. NotableFormatter
is no longer supported, it's now a dead code, but it can happen that we come back to this concept after 1.0 version.
from shipkit.
Regarding to X
value. Adding it is not easy for the following reasons:
-
Release notes file were not designed to read data from these file. The logic of update would be very complex if we want to add this functionality.
-
We have two scenarios:
First: If there is no sentence with the number
X
so we add it to the top of the release note. This case is simple.Second: If there is the sentence, we need to do the following.
Read the release note file and check is there is the sentence. Then we read the lastX
and get it
Then we have to remove the old sentence from previous release note
Then we add have add new content with a new sentence that has an incremented by 1 valueX
Right now logic of update it is very simple we append new content on top off file. But after these changes logic will be quite complicated, and if the structure of release note file changes, we will need to remember about migration to keep the continuity of the numbering. Because suggested implementation is reading release note file.
I have other solution. What would you say to the proposal that the number X
was calculated on the number of git commit + 1
?. That way don't have to read the release note file.
from shipkit.
@anicos number of git commit
is not an option.
Second scenario described by you is a little bit complicated but not impossible. Remember that the sentence should be only once in release notes and always on top. And the sentence text is constant!
If there is the sentence:
- You read the whole file
- Read
X
from sentence - Store the rest of release notes (without sentence) in temporary value
TMP
- Concatenate: Sentence(with X+1) + newest release notes (the newest part - this is current logic) +
TMP
- Store it in release notes file
I hope it's not so hard :-) Try to do PullRequest and we will help you by commenting the code.
from shipkit.
@szczepiq can we talk about this issue on chat? Because I have some questions related to this task. I put these question in pull request.
from shipkit.
I believe this is completed. Thank you guys!
from shipkit.
Related Issues (20)
- javadoc and java plugins are applied in the wrong order HOT 1
- Disabling Release Notes Generation HOT 3
- Unicode in user name of commit HOT 1
- Instructions/compatibility with GitHub Actions HOT 2
- Release to GH and add generated files to release HOT 8
- POM exception when using shipkit with jar archiveClassifier HOT 2
- deprecation warning: The baseName property has been deprecated HOT 3
- BintrayDefaultArtifactUrlResolver does not URL encode slashes in file_path HOT 1
- Adding an archive from a subproject's task causes a build failure HOT 10
- Support for building a project multiple times (multiple artifacts) and publishing as one version HOT 13
- Default POM generated by Shipkit does not meet Maven Central requirements HOT 2
- github access_token query parameter deprecated, breaks after 2020/07/01 HOT 6
- -PskipComparePublications=true doesn't work with ./gradlew -PskipComparePublications=true
- Question: GitHub release provider for Travis needed? HOT 1
- Release normal jar and fat jar at the same time HOT 7
- Shipkit for Scala multi-variant project HOT 4
- Build fails due to upgrade downstream failure on code coverage check
- GradlePortalReleasePlugin: Cannot add task 'validatePlugins' as a task with that name already exists
- Include LICENSE to META-INF rather that to the root of the archives HOT 2
- Will shipkit automatically tag and push to bintray after setup? 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 shipkit.