Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Oomph » Let users configure startup tasks
Let users configure startup tasks [message #1722517] Fri, 05 February 2016 12:13 Go to next message
Christoph Daniel Schulze is currently offline Christoph Daniel SchulzeFriend
Messages: 94
Registered: September 2015
Member
I have built an Oomph setup that seems to work very well to setup an IDE for working on our software. The software consists of a large number of plug-in projects, all of which are imported into the workspace by the Oomph setup and sorted into a number of working sets.

Here's the problem: while the setup does work well, different members of our team tend to prefer a different working set configuration. Also, some of our team members only want parts of the plug-ins to be imported.

One solution would be to make the project import and the working set configuration more complex, but that would result in more work needed to keep the setup working as projects are added and removed. I don't think we want to go down that route.

The solution I (and my team) would prefer would work like this:

1. Go through the usual Oomph setup dialog and have Oomph execute all bootstrap tasks.
2. Once the bootstrapped IDE is started, allow the user to select which startup tasks to execute. Thus, the more experienced team members can choose to skip the project import and working set tasks and configure all of that manually.

However, I don't see a way to configure startup tasks. Oomph always seems to execute all of them. Is that correct or am I missing anything?

The fallback solution as I see it would be to offer a separate stream that does not contain working set and project import tasks.
Re: Let users configure startup tasks [message #1722527 is a reply to message #1722517] Fri, 05 February 2016 12:42 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 31035
Registered: July 2009
Senior Member
Christoph,

Comments below.

On 05.02.2016 13:14, Christoph Daniel Schulze wrote:
> I have built an Oomph setup that seems to work very well to setup an
> IDE for working on our software. The software consists of a large
> number of plug-in projects, all of which are imported into the
> workspace by the Oomph setup and sorted into a number of working sets.
>
> Here's the problem: while the setup does work well, different members
> of our team tend to prefer a different working set configuration.
> Also, some of our team members only want parts of the plug-ins to be
> imported.
There's no pleasing everyone is there!
>
> One solution would be to make the project import and the working set
> configuration more complex, but that would result in more work needed
> to keep the setup working as projects are added and removed. I don't
> think we want to go down that route.
>
> The solution I (and my team) would prefer would work like this:
>
> 1. Go through the usual Oomph setup dialog and have Oomph execute all
> bootstrap tasks.
> 2. Once the bootstrapped IDE is started, allow the user to select
> which startup tasks to execute. Thus, the more experienced team
> members can choose to skip the project import and working set tasks
> and configure all of that manually.
Of course they could select all projects and delete them, select all
working sets and delete those, and then do whatever they like.

>
> However, I don't see a way to configure startup tasks. Oomph always
> seems to execute all of them. Is that correct or am I missing anything?
Yes, the startup is triggered automatically and there is no
confirmation option.
>
> The fallback solution as I see it would be to offer a separate stream
> that does not contain working set and project import tasks.
Yes, that makes the choice something you can do up front and allows one
to start an installation and go for lunch, without the process being
stopped 1/2 way for those team members who have exceptional needs.
Re: Let users configure startup tasks [message #1722528 is a reply to message #1722527] Fri, 05 February 2016 12:46 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 31035
Registered: July 2009
Senior Member
Christoph,

Note that the latest version of Oomph supports filters (advanced
properties of any task), so one can create tasks that are conditional
based on environment variables such that those team members who want to
disable some tasks or groups of tasks could set variables for that in
their environment.


On 05.02.2016 13:42, Ed Merks wrote:
> Christoph,
>
> Comments below.
>
> On 05.02.2016 13:14, Christoph Daniel Schulze wrote:
>> I have built an Oomph setup that seems to work very well to setup an
>> IDE for working on our software. The software consists of a large
>> number of plug-in projects, all of which are imported into the
>> workspace by the Oomph setup and sorted into a number of working sets.
>>
>> Here's the problem: while the setup does work well, different members
>> of our team tend to prefer a different working set configuration.
>> Also, some of our team members only want parts of the plug-ins to be
>> imported.
> There's no pleasing everyone is there!
>>
>> One solution would be to make the project import and the working set
>> configuration more complex, but that would result in more work needed
>> to keep the setup working as projects are added and removed. I don't
>> think we want to go down that route.
>>
>> The solution I (and my team) would prefer would work like this:
>>
>> 1. Go through the usual Oomph setup dialog and have Oomph execute all
>> bootstrap tasks.
>> 2. Once the bootstrapped IDE is started, allow the user to select
>> which startup tasks to execute. Thus, the more experienced team
>> members can choose to skip the project import and working set tasks
>> and configure all of that manually.
> Of course they could select all projects and delete them, select all
> working sets and delete those, and then do whatever they like.
>
>>
>> However, I don't see a way to configure startup tasks. Oomph always
>> seems to execute all of them. Is that correct or am I missing anything?
> Yes, the startup is triggered automatically and there is no
> confirmation option.
>>
>> The fallback solution as I see it would be to offer a separate stream
>> that does not contain working set and project import tasks.
> Yes, that makes the choice something you can do up front and allows
> one to start an installation and go for lunch, without the process
> being stopped 1/2 way for those team members who have exceptional needs.
>
Re: Let users configure startup tasks [message #1722530 is a reply to message #1722528] Fri, 05 February 2016 12:53 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6487
Registered: July 2009
Senior Member
Am 05.02.2016 um 13:46 schrieb Ed Merks:
> Christoph,
>
> Note that the latest version of Oomph supports filters (advanced properties of any task), so one can create tasks
> that are conditional based on environment variables such that those team members who want to disable some tasks or
> groups of tasks could set variables for that in their environment.
.... and you can create such environment variables with EclipseIniTasks. These tasks can be parameterized with prompted
variables. Then the installer would ask your users what working sets they want.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Re: Let users configure startup tasks [message #1722538 is a reply to message #1722530] Fri, 05 February 2016 14:15 Go to previous messageGo to next message
Christoph Daniel Schulze is currently offline Christoph Daniel SchulzeFriend
Messages: 94
Registered: September 2015
Member
Eike Stepper wrote on Fri, 05 February 2016 12:53
Am 05.02.2016 um 13:46 schrieb Ed Merks:
> Christoph,
>
> Note that the latest version of Oomph supports filters (advanced properties of any task), so one can create tasks
> that are conditional based on environment variables such that those team members who want to disable some tasks or
> groups of tasks could set variables for that in their environment.
.... and you can create such environment variables with EclipseIniTasks. These tasks can be parameterized with prompted
variables. Then the installer would ask your users what working sets they want.

Cheers
/Eike


I went with the variables + eclipse.ini + filters approach. Good stuff, that was easy, keeps the setup maintainable, and works like a charm. Thank you guys!

Cheers,
Christoph Daniel
Re: Let users configure startup tasks [message #1724230 is a reply to message #1722517] Mon, 22 February 2016 12:00 Go to previous messageGo to next message
Christoph Daniel Schulze is currently offline Christoph Daniel SchulzeFriend
Messages: 94
Registered: September 2015
Member
Sorry, but I'll have to bother you again, I'm afraid. This works perfectly for me, but the filtered tasks fail to work for two of my colleagues, both on Linux and Windows. Works fine for me on Mac OS and Linux. Here's a bit more info...

As we discussed, I'm using an Eclipse.ini task to persist the variable values to be read by Oomph once the new installation is started. And indeed, the eclipse.ini contains the following lines:

-DoomphSetup.config.importProjects=true
-DoomphSetup.config.setupWorkingSets=true


Now our project import and working set tasks have the following filter condition set on them, which works perfectly fine for me:

(oomphSetup.config.setupWorkingSets=true)


I'm a bit puzzled that the tasks are not run, though. I thought perhaps the filter expression evaluation code uses some other setting than the one set in eclipse.ini. The user.setup files contain persisted values for the variables whose values the Eclipse.ini task uses to write to eclipse.ini, and they are true for both of my colleagues. That's the only location in ~/.eclipse where we found the variable names, so I don't see how that can be the problem.

Do you have any further suggestions? Otherwise I guess I'll have to debug into the Oomph setup code.
Re: Let users configure startup tasks [message #1724249 is a reply to message #1724230] Mon, 22 February 2016 14:26 Go to previous messageGo to next message
Christoph Daniel Schulze is currently offline Christoph Daniel SchulzeFriend
Messages: 94
Registered: September 2015
Member
We have actually found an exception in the expression evaluation code. I'll go ahead and open up a ticket...
Re: Let users configure startup tasks [message #1724273 is a reply to message #1724249] Mon, 22 February 2016 16:53 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 31035
Registered: July 2009
Senior Member
Christoph,

I think someone else reported this (assuming it's the same problem). I
can't locate the bugzilla at the moment, but if I recall correctly, the
problem is that the map of properties we produce for filter evaluation
isn't careful about building a map with case insensitive keys, e.g., if
you have java_home and JAVA_HOME in the map, p2 throws an exception
about "duplicate" keys. We'll need to fix that. Feel free to open a
ticket anyway, in case your problem is a different one...

On 22.02.2016 15:26, Christoph Daniel Schulze wrote:
> We have actually found an exception in the expression evaluation code.
> I'll go ahead and open up a ticket...
Re: Let users configure startup tasks [message #1724338 is a reply to message #1724273] Tue, 23 February 2016 09:12 Go to previous messageGo to next message
Christoph Daniel Schulze is currently offline Christoph Daniel SchulzeFriend
Messages: 94
Registered: September 2015
Member
Ed Merks wrote on Mon, 22 February 2016 16:53
I think someone else reported this (assuming it's the same problem).


Yeah, Bugzilla directed me to the ticket once I started filing it. Problem is that it's not in the Oomph code base, but in the Equinox code and might thus not be as easy to fix as I hoped. As a workaround, we now switched to the separate project streams approach.

Edit: It's ticket 487872.

[Updated on: Tue, 23 February 2016 09:15]

Report message to a moderator

Re: Let users configure startup tasks [message #1724516 is a reply to message #1724338] Wed, 24 February 2016 10:03 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 31035
Registered: July 2009
Senior Member
Christoph,

Yes, it's p2 that's throwing the exception, but knowing that, we could
be more careful how we populate the map that we pass to p2. E.g., we
could lower case all the keys as we populate our map...


On 23.02.2016 10:12, Christoph Daniel Schulze wrote:
> Ed Merks wrote on Mon, 22 February 2016 16:53
>> I think someone else reported this (assuming it's the same problem).
>
>
> Yeah, Bugzilla directed me to the ticket once I started filing it.
> Problem is that it's not in the Oomph code base, but in the Equinox
> code and might thus not be as easy to fix as I hoped. As a workaround,
> we now switched to the separate project streams approach.
>
Previous Topic:[Exception] Illegal Value
Next Topic:artificial_root not found
Goto Forum:
  


Current Time: Mon Apr 06 22:27:24 GMT 2020

Powered by FUDForum. Page generated in 0.08459 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top