Skip to main content



      Home
Home » Eclipse Projects » Oomph » How to exclude folders on project import
How to exclude folders on project import [message #1737924] Thu, 14 July 2016 04:32 Go to next message
Eclipse UserFriend
I was trying to setup a project import task where some subfolders should not be imported.

  <setupTask
      xsi:type="projects:ProjectsImportTask">
    <sourceLocator
        rootFolder="${ease.git.clone.core.location}">
      <excludedPath>${ease.git.clone.core.location/developers}</excludedPath>
    </sourceLocator>
  </setupTask>


I was also trying regexp as exclude pattern ".*developers.*, but whatever I enter, projects from those folders still get imported. While I could setup import tasks on subfolder level I would love to use the more general approach with exclude patterns. Could you explain how this works?

thanks
Christian
Re: How to exclude folders on project import [message #1737939 is a reply to message #1737924] Thu, 14 July 2016 05:20 Go to previous messageGo to next message
Eclipse UserFriend
Hi Christian,

IIRC. the excludedPath must not be patterns, but rather paths *relative* to the rootFolder.

Cheers
/Eike

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



Am 14.07.2016 um 11:32 schrieb Christian Pontesegger:
> I was trying to setup a project import task where some subfolders should not be imported.
>
>
> <setupTask
> xsi:type="projects:ProjectsImportTask">
> <sourceLocator
> rootFolder="${ease.git.clone.core.location}">
> <excludedPath>${ease.git.clone.core.location/developers}</excludedPath>
> </sourceLocator>
> </setupTask>
>
>
> I was also trying regexp as exclude pattern ".*developers.*, but whatever I enter, projects from those folders still
> get imported. While I could setup import tasks on subfolder level I would love to use the more general approach with
> exclude patterns. Could you explain how this works?
>
> thanks
> Christian
Re: How to exclude folders on project import [message #1774787 is a reply to message #1737939] Thu, 19 October 2017 11:20 Go to previous messageGo to next message
Eclipse UserFriend
Stumbled upon this thread when looking for a solution as I can't get this to work.My maven import task looks like:
<setupTask
    xsi:type="maven:MavenImportTask"
    projectNameTemplate="">
  <sourceLocator
      rootFolder="${git.clone.projects.location}"
      locateNestedProjects="true">
    <excludedPath>project1-ignore</excludedPath>
    <excludedPath>project2-ignore</excludedPath>
  </sourceLocator>
</setupTask>


but both projects are imported while being a direct subdirectory of the git.clone.projects.location. What would be the correct format?

Regards
Kurt
Re: How to exclude folders on project import [message #1774790 is a reply to message #1774787] Thu, 19 October 2017 11:47 Go to previous messageGo to next message
Eclipse UserFriend
It looks okay. It's used by org.eclipse.oomph.resources.impl.ProjectFactoryImpl.isExcludedPath(BackendContainer, BackendContainer) It looks like this one from Equinox.setup:
<?xml version="1.0" encoding="UTF-8"?>
<resources:SourceLocator
    xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:resources="http://www.eclipse.org/oomph/resources/1.0"
    xsi:schemaLocation="http://www.eclipse.org/oomph/resources/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Resources.ecore"
    rootFolder="${git.clone.equinox.p2.location}">
  <excludedPath>org.eclipse.equinox.p2.releng.buckminster</excludedPath>
  <excludedPath>bundles/org.eclipse.equinox.p2.testserver</excludedPath>
</resources:SourceLocator>

Failing that, you could instead create predicates (such as one that matches any project that doesn't have ignore in the name)...
Re: How to exclude folders on project import [message #1823854 is a reply to message #1774790] Fri, 03 April 2020 01:08 Go to previous messageGo to next message
Eclipse UserFriend
I highjack this, because I have a very similar issue. I want to exclude everything from a given subfolder and its children. None of the available filters are useful for that:

* Excluded Paths have to list individual projects
* NamePredicate has no path information
* LocationPredicate gives me headaches: It checks against the full filesystem path of the project, converting \ to / on windows. To match the full path, I need to use ${git.clone.project.location}, but that still contains \ characters. I dont know if there's a filter, so that I can replace \ by / in ${git.clone.project.location}. Otherwise I won't ever match anything.

Maybe there is still a way to do this?
Thanks,
Felix



Re: How to exclude folders on project import [message #1823855 is a reply to message #1823854] Fri, 03 April 2020 02:30 Go to previous messageGo to next message
Eclipse UserFriend
This filter isn't particularly well described:
    registerFilter(new DocumentedStringFilter()
    {
      public String getName()
      {
        return "path";
      }

      @Override
      public String getDescription()
      {
        return "Extracts the path segments from a URI.";
      }

      public String filter(String value)
      {
        return value.replaceAll("\\\\", "/");
      }
    });
But it's clear that it just replaces \ with / in whatever the string happens to be, and given that a URI will generally not contain \, and that this is typically used with a file system path not a URI, the description is poor at best and arguably misleading.

So I fixed that via https://bugs.eclipse.org/bugs/show_bug.cgi?id=561720 and updated the wiki.
Re: How to exclude folders on project import [message #1823857 is a reply to message #1823855] Fri, 03 April 2020 03:08 Go to previous messageGo to next message
Eclipse UserFriend
Okay thank you, this might work.
Re: How to exclude folders on project import [message #1823864 is a reply to message #1823857] Fri, 03 April 2020 04:35 Go to previous messageGo to next message
Eclipse UserFriend
Have you tried the Excluded Paths on the Source Locator? This can specify a relative path (using /) that should be excluded.
Re: How to exclude folders on project import [message #1824054 is a reply to message #1823864] Tue, 07 April 2020 03:06 Go to previous messageGo to next message
Eclipse UserFriend
I cannot use a pattern on excludedPaths, only full project paths. It would be good if excluded paths would be a pattern match instead.
Re: How to exclude folders on project import [message #1824061 is a reply to message #1824054] Tue, 07 April 2020 04:17 Go to previous messageGo to next message
Eclipse UserFriend
I thought maybe they would all be under one folder in the repo so you could exclude that folder and everything under it. But given I don't know anything about your structure, I can't actually offer advice on the simplest approach to filter certain projects. Your question seems to imply there is some pattern to be recognized via the folder structure...
Re: How to exclude folders on project import [message #1824084 is a reply to message #1824061] Tue, 07 April 2020 11:50 Go to previous messageGo to next message
Eclipse UserFriend
Well that is exactly the case. I have a folder, and I want to exclude everything under it. Turns out.. I used my/external/folder/. You suggest that this must work so I tried without the trailing / and yes, that works. I was sort of biased, since 2 others in this thread said: it doesnt work, and the paths in your example above with the equinox.setup look like project paths, not some subfolders, so yes.. look at that fool. Wouldnt "some/path" and "some/path/" be equivalent here? What I mean is, that maybe trailing segments could be removed when the check is performed, so that both cases would work and do the expected?



Re: How to exclude folders on project import [message #1824103 is a reply to message #1824084] Wed, 08 April 2020 00:11 Go to previous messageGo to next message
Eclipse UserFriend
I think you are suggesting that in https://git.eclipse.org/c/oomph/org.eclipse.oomph.git/tree/plugins/org.eclipse.oomph.resources/src/org/eclipse/oomph/resources/impl/SourceLocatorImpl.java#n567 it should strip a trailing / just as it currently strips a leading / so that this methods works properly in either case and does not currently work properly (at all) when there is a trailing /:

https://git.eclipse.org/c/oomph/org.eclipse.oomph.git/tree/plugins/org.eclipse.oomph.resources/src/org/eclipse/oomph/resources/impl/SourceLocatorImpl.java#n622

Is that correct?
Re: How to exclude folders on project import [message #1824117 is a reply to message #1824103] Wed, 08 April 2020 04:17 Go to previous messageGo to next message
Eclipse UserFriend
That is exactly what I am suggesting, yes.
Re: How to exclude folders on project import [message #1824120 is a reply to message #1824117] Wed, 08 April 2020 05:12 Go to previous messageGo to next message
Eclipse UserFriend
Please open a Bugzilla. You could even fix it yourself:

https://www.eclipse.org/setups/installer/?url=http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/configurations/OomphConfiguration.setup&show=true
Re: How to exclude folders on project import [message #1841534 is a reply to message #1824120] Thu, 20 May 2021 04:31 Go to previous messageGo to next message
Eclipse UserFriend
This is failing for me.

It looks like it should work.

Is there a way to debug the SourceLocatorImpl code?
If I could inspect doHandleProjects() I could see what the problem is.
Re: How to exclude folders on project import [message #1841547 is a reply to message #1841534] Thu, 20 May 2021 06:40 Go to previous message
Eclipse UserFriend
One would generally need to set up a development environment:

https://www.eclipse.org/setups/installer/?url=http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/configurations/OomphConfiguration.setup&show=true

And then launch a runtime workbench (there is a launcher called "IDE" available for that). And in there you can debug org.eclipse.oomph.setup.projects.impl.ProjectsImportTaskImpl.perform(SetupTaskContext).

Often what I do is use Navigate -> Open Setup -> Workspace in that self-hosted launch and copy the task I want to debug there; copy and paste works between IDEs even. Then you can use Help -> Perform Setup Tasks to kick that task off to debug it. And if there are bugs you could contribute the fix for it...
Previous Topic:Difference between "cleanup" and "sp_cleanup" prefix?
Next Topic:HELP
Goto Forum:
  


Current Time: Tue May 20 09:41:51 EDT 2025

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

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

Back to the top