#1103  OneDev API libraries/wrappers
Closed
Unknown opened 1 year ago

Just curious before I think about this topic any more, is there currently any onedev api wrappers/libraries for using onedev API in java and/or another programming language.

I am asking because I want to contribute to issue #972 but onedev is a large codebase which I have not even touched on, so I would like to do something smaller first then work on contributing directly the OneDev.

Thanks :)

Unknown commented 1 year ago

Well, I do not know if there is or not but I am going to do it anyways cause screw it :)

I will develop it over on the community instance I provide, might you know, promote it a little :P

https://onedev.polarian.dev/onedev-api/java

Unknown commented 1 year ago

If there is a naming conflict with any other onedev packages please let me know :)

Robin Shen commented 1 year ago

There is no api wrapper. Just the restful api. Generally I do not suggest wrapping the restful api as keeping up with api change means tedious work.

Unknown commented 1 year ago

@robin So far you have dis-approved everything I have done, and yet I still have continued, is this going to be another case of this 😄

You seem to be very worried about my time, if it isn't your time why should you care :)

I have written API wrappers before, I know it can be a pain to keep up and maintain, but its an open source project, and I won't be paid to do it, I can stop/give up any time I like, but I probably won't :)

Robin Shen commented 1 year ago

@polarian please do not get me wrong. I can just say "fantastics, just go ahead and play with it". But as a maintainer, I should give honest suggestions from my point of view. Some of works I do not recommend so far:

  1. Use yajsw instead of jsw. This is because yajsw is not updated for 4 years, and it also means hard work switching
  2. Use C (or other language but not Java) for IRC notification implementation and make it a separate process. This hurts OneDev's cross-platform ability, and make the package hard
  3. AUR packaging. Reasons we've discussed in that thread
  4. Language wrappers of the restful api. Reason I've given in this thread
Robin Shen commented 1 year ago

I do welcome contributions playing with OneDev well, for instance the discord sso plugin is contributed, and also large part of junit report

Unknown commented 1 year ago

I understand the use of JSW, it makes your job easier especially being a single developer, I do not question that, it wont stop me attempting to strip its functionality and "hack" a way around it, open source project so why not?

Use C (or other language but not Java) for IRC notification implementation and make it a separate process. This hurts OneDev's cross-platform ability, and make the package hard

I understand that, this is your repository thus you get the dictate what you have and don't have, avoiding JNI does allow easier maintainability, and I do already have a working IRC library written for Java, so this was a little bit of a stupid suggestion!

AUR packaging. Reasons we've discussed in that thread

Yup, but this isn't related to your "official" support, and thus you do not get the final say on it, you can only STRONGLY discourage it

Language wrappers of the restful api. Reason I've given in this thread

Well currently I only plan to do a Java wrapper, but others might be cool, it would allow people to develop software which does not need to directly depend on the onedev souce but instead interact through the REST API.

Robin Shen commented 1 year ago

Yes of course. OneDev itself is open source and one can fork and modify it whatever they like. Just some honest suggestions from maintainers.

Unknown commented 1 year ago

I do understand fully, you are a single developer trying to maintain a huge codebase for a single person, and then there is me trying to strip OneDevs proprietary components which has been used to make your life easier.

Also slightly off-topic but about a month ago you said you were going to try to build a small dev team for OneDev, to aid in the maintenance, you still plan on going ahead with this, or you still want to be the sole developer?

Robin Shen commented 1 year ago

Also slightly off-topic but about a month ago you said you were going to try to build a small dev team for OneDev, to aid in the maintenance, you still plan on going ahead with this, or you still want to be the sole developer?

I have not been successful on doing that yet. I hope for a full-time dev team, and maybe when OneDev has some income, that will be feasible.

Unknown commented 1 year ago

I have not been successful on doing that yet. I hope for a full-time dev team, and maybe when OneDev has some income, that will be feasible.

I still highly recommend setting up OpenCollective and/or Liberapay. Also look for open source grants seen as OneDev is a resonably sized project, some organisations might give you a grant for development.

You also should attempt to advertise hiring positions and where to send applications, I don't recommend rushing it though, also full time might not be possible at this time considering you are the only funder for the project so far, I doubt you can pay a full time wage per month from your wage, so that is not achievable yet without external support.

Robin Shen changed state to 'Closed' 1 year ago
Previous Value Current Value
Open
Closed
Matthias Gramberg commented 1 year ago

Sorry to comment on that closed thread.

In regards to your statement:

Use C (or other language but not Java) for IRC notification implementation and make it a separate process. This hurts OneDev's cross-platform ability, and make the package hard

Does this include other JVM languages?

Robin Shen commented 1 year ago

The library should be able to be called from Java easily. Not all JVM languages play well with Java I think.

Unknown commented 1 year ago

@shalokshalom No, that does not include other JVM languages.

All JVM languages compile down to the same bytecode, which provide full inter-compatibility with Java, languages such as kotlin can import and use Java code seamlessly.

The thing you got to bare in mind is Robin is a Java developer, using other programming languages would prevent Robin from maintaining his own repository, and thus it would not be permitted, therefore you are forced to stick to Java when it comes to contributing directly to onedev.

If you are forking onedev into your own codebase, you are free to use any JVM languages you desire as it would still be compatible, just do not submit a PR unless Robin has explicitly allowed other programming languages within the source code (which is very unlikely, sorry kotlin lovers!)

issue 1 of 1
Type
Question
Priority
Normal
Assignee
Issue Votes (0)
Watchers (4)
Reference
onedev/server#1103
Please wait...
Page is in error, reload to recover