Feature request: Buildship offline mode

issue-resolved

(Rodrigue) #1

Hi everybody,

I thank first all the team members working on the plugin “buildship”, and I have a question for you :slight_smile:.

When I work offline, this means with no network access to any external dependencies repository (for ex. no access to the internet), buildship is not able to initialize the projects (in eclipse) very well. Although the dependencies are listed correctly, the classes coming from external jars are not recognized by eclipse, which implies red markers (error) at many places in the eclipse project.

I think, it would be nice to be able to work offline properly, if the dependencies had been downloaded before at a time where the access to the repositories was possible. This would follow the thinking behind the gradle own “offline” mode (it is possible to run gradle in offline mode).

What do you think about it?

Cheers


(Stefan Oehme) #2

Hi Rodrigue,

thank you, we are happy you are enjoying Buildship :slight_smile:

Having an offline mode makes perfect sense. Would you be interested in contributing it?

Cheers,
Stefan


(Rodrigue) #3

Hello Stefan,

Thank you for your fast answer.
Sure I would. The problem now would be the time I would personally need to get into eclipse plugin development (never did it until now). If the feature is not present on 11.12.2016, I would start implementing it.

Cheers
Rodrigue


(Stefan Oehme) #4

You won’t need much special knowledge. The dev setup is fully automated
and the feature is essentially just a checkbox and passing along an extra
command line switch. I’ll be happy to help out if you have any questions.


(Rodrigue) #5

OK

let’s start on it on next tuesday… Where should I start for the setup?

Since buildship does not provide any settings page (on eclipse at “window -> preferences”) I suppose I will first ensure such a page to be provieded, right?


(Stefan Oehme) #6

The developer setup is documented on GitHub. Please let me know if any of it is outdated, since it hasn’t been changed in a while.

Buildship already provides a preference page (Window -> Preferences -> Gradle). This page configures the workspace configuration object, which is used when synchronizing/running tasks.

So you will need to:

  • add an “Offline mode” option to the preference page
  • add an isOffline property to the workspace configuration and make sure it is saved/loaded correctly
  • pass the --offline argument if isOffline is true everywhere where the WorkspaceConfiguration object is read

If you are familiar with Groovy and Spock, then you’ll get bonus points for writing an integration test :wink:

Cheers,
Stefan


(Rodrigue) #7

Thank you for the info, I will do it

:slight_smile:


(Rodrigue) #8

Hello Stephan,

I finally have time to work on it. I just tried to start the environment with oomph without success. Here is a screenshot picturing my issue.

the second and last point I wanted to address is to know whether there is a task requesting this feature entered some where (JIRA etc…) , if yes could you please pass me the link to it.

Thank you
rodrigue


(Donát Csikós) #9

Hi! I updated the Buildship setup model, the Eclipse installer should work now.


(Stefan Oehme) #10

There is no feature request recorded yet. You can open one at BugZilla.


(Rodrigue) #11

Hi donat,

Thank you, I checkt this now.


(Rodrigue) #12

Hi Stepan

ok, a new one will be filed now

cheers


(Rodrigue) #13

Hey

Do I need some specific settings to push the branch (created locally from master) I worked on to github?
I just spent 2 hours to figure it out (without success). I am facing some authentication issue, when pushing my branch.

Here is the error message I get when trying it:

“fatal: unable to access ‘https://github.com/eclipse/buildship/’: The requested URL returned error: 403”

BR
Rodrigue


(Rodrigue) #14

Hey

OK problem solved, I needed to fork the repository first. Now I did it and a pull request has been submitted.

Cheers


(Stefan Oehme) #15

Thanks Rodrigue, we’ll have a look soon!


(Donát Csikós) #16

For completeness: the pull request is merged and will be released as part of Buildship 2.0.