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

BSN!=Dir , support for nested directorys #346

Closed
wants to merge 20 commits into from
Closed

BSN!=Dir , support for nested directorys #346

wants to merge 20 commits into from

Conversation

rimmeraj
Copy link

@rimmeraj rimmeraj commented May 1, 2013

Here is attempt #2. I have added 19 tests around Workspace to test the changes and now the existing test suite runs. The bnd and bndlib bundles are running in our env which is a command line ant build and eclipse using bndtools, with GIT as our SCM.

To use the nested workspace in the projects parent directory you need to add a file that contains one line , that is a relative location of where the cnf lives. If the location is absolute we will find it but assume it is not a nested project.

So a sample GIT layout in eclipse
myWorkspace

cnf.repo/
cnf/build.bnd

repo1/
proj1/bnd.bnd
proj2/bnd.bnd
cnf -> contains ../cnf.repo

repo2/
proj3/bnd.bnd
cnf -> contains ../cnf.repo

To use the BSN!=directory name you need to add -directoryNotBSN to the cnf/build.bnd
If this is set the BSN is Bundle-SymbolicName that is in the projects bnd.bnd. If this is missing it is assumed that this is not a valid project.

BSN!=Directory
Nested cnf dirs as per git layouts
@fhuberts
Copy link
Contributor

fhuberts commented May 1, 2013

I did a quick build & test and have 1 failure on my Linux machine:

test.ProjectLaunchImplTest FAILED

But that is the same unstable test as I reported earlier in #318
On the second run the test succeeded.

So no test failures.
Did not look into the code, no time :-(

@rimmeraj
Copy link
Author

rimmeraj commented May 1, 2013

Thanks. I will have a look....

@fhuberts
Copy link
Contributor

fhuberts commented May 1, 2013

no need to look into that test.
It's for Peter :-)

@rimmeraj
Copy link
Author

rimmeraj commented May 1, 2013

I would try

Workspace ws = Workspace.getWorkspace(new File("test/ws")); . Drop the src/. It runs fine here on OSX ...

@fhuberts
Copy link
Contributor

fhuberts commented May 1, 2013

That really can't run because I get an NPE and an IAE, please discuss this under #318

@rimmeraj
Copy link
Author

rimmeraj commented May 2, 2013

projectTest.testBuildAll() is failing. It looks like it is assuming that dependson includes the project itself, however before we call Project.traverse we have already add the current project to the traverse list. To me it makes sense the the dependson should not include itself.

rimmeraj added 11 commits May 2, 2013 13:42
prepared. If is is a resolution issue then more than likely it will
never be resolved for that pass of the build. 

My case blows up the stack on large projects where a top most bundle
will not resolve.
that and add new locations to the workspace as projects are added
build items ar in the same relative space.

Be smarter about getAllProjects(), cache , add what we currently have
and then only scan the dirs once. Lets assume build directories will not
appear out of thin air
When we are calculating build order see if the project is not resolved
and try one more time
@pkriens
Copy link
Member

pkriens commented May 17, 2013

I really do not want to go to nested workspaces in bnd. Personally I feel the bndtools is the place where we want to support multiple bnd workspaces in one Eclipse workspace. In that model, each workspace would have its own repository but the bnd workspaces would be independent. We will discuss this topic in the bndtools hackaton next month.

@pkriens pkriens closed this May 17, 2013
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

Successfully merging this pull request may close these issues.

3 participants