Coder Social home page Coder Social logo

Comments (10)

mockitoguy avatar mockitoguy commented on May 31, 2024

Really cool idea. I like the gamification part of it :)

from shipkit.

anicos avatar anicos commented on May 31, 2024

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.

mstachniuk avatar mstachniuk commented on May 31, 2024

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.

anicos avatar anicos commented on May 31, 2024

@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.

wwilk avatar wwilk commented on May 31, 2024

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.

mstachniuk avatar mstachniuk commented on May 31, 2024

@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.

anicos avatar anicos commented on May 31, 2024

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 last X 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 value X

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.

mstachniuk avatar mstachniuk commented on May 31, 2024

@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.

anicos avatar anicos commented on May 31, 2024

@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.

mockitoguy avatar mockitoguy commented on May 31, 2024

I believe this is completed. Thank you guys!

from shipkit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.