Skip to content
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

Acknowledge contributors #1

Open
vlsi opened this issue Jul 8, 2022 · 26 comments
Open

Acknowledge contributors #1

vlsi opened this issue Jul 8, 2022 · 26 comments

Comments

@vlsi
Copy link
Contributor

vlsi commented Jul 8, 2022

javacc-8-core contains code contributed by several people, however its git history is blank: https://github.com/javacc/javacc-8-core/graphs/contributors

For instance, I contributed this code:

public String getProductionName() {
Object next = this;
// Limit the number of iterations in case there's a cycle
for (int i = 0; (i < 42) && (next != null); i++) {
if (next instanceof BNFProduction) {
return ((BNFProduction) next).getLhs();
} else if (next instanceof Expansion) {
next = ((Expansion) next).parent;
} else {
return null;
}
}
return null;
}
, and I want that the change to be attributed appropriately.

@new-javacc
Copy link
Collaborator

Sure you can continue and get stuck in 7 lol - if you prefer.

I want @vlsi to be useful and propose fixes rather than just keep saying it can't be done. Or just fork it and take it. But I know what my goal is - the new way of doing core is the ONLY way forward and if you have problem with it - take one of the other options I proposed there. I don't have the time/wherewithal to do the git stuff.

@vlsi
Copy link
Contributor Author

vlsi commented Jul 10, 2022

@new-javacc , I don't understand how this issue is connected with "continuing with 7".
I just say that the history of 8 should be recollected so it includes all the contributors (not just me).

@new-javacc
Copy link
Collaborator

So please go ahead and do it if you know how to! I have no idea how to do it or the patience to figure out. Like @zosrothko said we can add contributors names etc.

@vlsi
Copy link
Contributor Author

vlsi commented Jul 10, 2022

To my best knowledge, it would require combining the repositories. Are you ok with that?

@new-javacc
Copy link
Collaborator

As long as we have the new way forward in the structure I want (core and codegen separate), I don't see a problem with it I simply do not to support new work (or even bug fixes after some time) in the previous version(s) myself.

@vlsi
Copy link
Contributor Author

vlsi commented Jul 10, 2022

core and codegen separate

Is separate folders enough?

@new-javacc
Copy link
Collaborator

No I want separate modules or repos. I want people to be able to checkout just code generator they want and work on it

@new-javacc
Copy link
Collaborator

I want the separation to reflect strongly in the code organization.

@vlsi
Copy link
Contributor Author

vlsi commented Jul 10, 2022

I want people to be able to checkout just code generator they want and work on it

What's wrong if they checkout everything and they start working on the bits they need?

@new-javacc
Copy link
Collaborator

No - I don't want it that way. I want the core to actually become sometehing like javaccc - javacc compiler! I want a very strong dissociation between the two

@new-javacc
Copy link
Collaborator

Also this is just your personal obsession @vlsi (whereas the other one is my personal obsession lol). So what do others think?Maybe I will open a poll

@zosrothko
Copy link
Member

What's wrong if they checkout everything and they start working on the bits they need?
That is wrong because the version number HAS A MEANING. It should cortrespond to added/removed/changed part of the code/documentation/etc... We DO NOT WANT a new version of the core for exemple if there is no change in it while a other module like the JAva code generator has been changed. Could you get it?

@zosrothko
Copy link
Member

I will try those steps described there. If the result is positive, it will be pushed.

@new-javacc
Copy link
Collaborator

new-javacc commented Jul 11, 2022 via email

@vlsi
Copy link
Contributor Author

vlsi commented Jul 11, 2022

Others who are so hung up on this can maybe help?

@new-javacc , I can help with recollecting the history, however, it would result in merging all the repositories into a single repository as I said in #1 (comment)

Please let me know once you decide to go with a single repository instead of multiple ones.

@zosrothko
Copy link
Member

keeping back the javacc-7 history into javacc-8-core is done. Look at javacc-8-core/contributors.

@new-javacc
Copy link
Collaborator

It has to be multiple mostly independent repos with only code gen depending on core. That's my decision for the future verison of javacc based on what I know of the codebase, customers and contributors.

@vlsi
Copy link
Contributor Author

vlsi commented Jul 11, 2022

The git history is still broken though.

Please compare git blame for Expansion.java in 7 and 8

7: https://github.com/javacc/javacc/blame/31febfb562b80f6112a3c873aa6097078223659f/src/main/java/org/javacc/parser/Expansion.java#L125-L143

8: https://github.com/javacc/javacc-8-core/blame/1da102ab29ef38f0ad5a1610ac7892170fb80422/src/main/java/org/javacc/parser/Expansion.java#L125-L142

Basically, in javacc-8-core repository, it looks the file has been created by @zosrothko in a single commit.
However, in javacc-7, there's clear history.

@zosrothko
Copy link
Member

On the insigth contributors of javacc-8-core, all your commits appears to be yours

image

@vlsi
Copy link
Contributor Author

vlsi commented Jul 11, 2022

@zosrothko , please check the URLs I listed:
https://github.com/javacc/javacc-8-core/blame/1da102ab29ef38f0ad5a1610ac7892170fb80422/src/main/java/org/javacc/parser/Expansion.java#L125-L142

git blame for javacc-8

The same link for javacc-7 properly shows which lines have been modified by which commit:
git blame for javacc-7

@new-javacc
Copy link
Collaborator

new-javacc commented Jul 11, 2022 via email

@vlsi
Copy link
Contributor Author

vlsi commented Jul 11, 2022

we split out 8 before your fix. Also note that it's a codegen fix so not relevant anymore

8 was split after my fix, and the change is still needed even for 8.

@new-javacc
Copy link
Collaborator

we split out 8 before your fix. Also note that it's a codegen fix so not relevant anymore

8 was split after my fix, and the change is still needed even for 8.

Did you have a repro and test case? I haven't looked at the fix. Send me the PR that was merged and I can look. The title says good names for jj methods - which is a codegen issue. So not relevant in 8. Not sure what this loop is doing.

@vlsi
Copy link
Contributor Author

vlsi commented Jul 11, 2022

Here's the PR javacc/javacc#153

The change is present in the most recent 8 code, so I don't understand what do you mean by "not relevant in 8"

@new-javacc
Copy link
Collaborator

You are wasting so much of my time it's annoying.That function getProductionName is unused. If it is in the codegen, I will remove it. I want everything related to codegen for a specific language to in that module/repo, not in core. So I want to refactor to get rid of this function in core and move it to codegen - maybe as a Util class or something

@new-javacc
Copy link
Collaborator

Basically, there is no going back from having core as a separate repo and each language code generator in their own repos. Rest of the stuff history etc whoever is passionate about and have a ton of time on their hands, please do it. And stop calling Francis names. He tried to do his best working with me (not an easy task) with my constraints so I'm really thankful to him.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants