andau / abapCI

Continuous Integration for ABAP
MIT License
62 stars 14 forks source link

ABAP CI can not be installed with eclipse 2022-09 #34

Open ABAP-Pete25 opened 1 year ago

ABAP-Pete25 commented 1 year ago

when installing plugin into an eclipse 2022-09 an installation error shows up: Error message: Cannot complete the install because one or more required items could not be found. Software currently installed: ABAP Continuous Integration 0.5.5.2 (com.abapci.feature.feature.group 0.5.5.2) Missing requirement: com.abapci.plugin 0.5.5.2 requires 'osgi.bundle; org.junit.platform.commons 0.0.0' but it could not be found Cannot satisfy dependency: From: ABAP Continuous Integration 0.5.5.2 (com.abapci.feature.feature.group 0.5.5.2) To: org.eclipse.equinox.p2.iu; com.abapci.plugin [0.5.5.2,0.5.5.2]

TimoJohn commented 1 year ago

I have the same issue. Solution in Issue 27 did not help at my side. Used the default JAVA installation of eclipse. Thanks in advance.

calltobharath commented 1 year ago

Same here. The features mentioned in ABAP Continuous integration are too good to be true and I want them so badly. Sadly the installation from marketplace does not work even with -clean start.

Issue 27 - Does not help.

frankclassens commented 1 year ago

Same issue with eclipse 2022-12. Cannot complete the install because one or more required items could not be found. Software currently installed: ABAP Continuous Integration 0.5.5.2 (com.abapci.feature.feature.group 0.5.5.2) Missing requirement: com.abapci.plugin 0.5.5.2 requires 'osgi.bundle; org.junit.platform.commons 0.0.0' but it could not be found Cannot satisfy dependency: From: ABAP Continuous Integration 0.5.5.2 (com.abapci.feature.feature.group 0.5.5.2) To: org.eclipse.equinox.p2.iu; com.abapci.plugin [0.5.5.2,0.5.5.2]

mrsetosan commented 1 year ago

@ABAP-Pete25 @TimoJohn @calltobharath @frankclassens same issue here.

The following workaround fixed it for me (2022-12 Eclipse Java Enterprise):

  1. Go to Help -> Install New Software -> Add in Eclipse.
  2. Add http://download.oracle.com/otn_software/oepe/12.2.1.10/photon/repository/ as new installation repository if not existing yet.
  3. Choose this repository.
  4. Select the following libraries listed under "All Bundles": org.apiguardian:apiguardian-api org.junit.jupiter:junit.jupiter-api org.junit.jupiter:junit.jupiter-engine org.junit.jupiter:junit.jupiter-migrationsupport org.junit.jupiter:junit.jupiter-params org.junit.platform:junit.platform-commons org.junit.platform:junit.platform-engine org.junit.platform:junit.platform-launcher org.junit.platform:junit.platform-runner org.junit.platform:junit.platform-suite-api org.junit.vintage:junit.vintage-engine grafik
  5. Install selected libraries.
  6. Restart Eclipse.
  7. Install ABAP CI from Eclipse marketplace.
  8. Have fun.

Leave a comment if this workaround fixes the issue for you too.

HTH

Note: The selected libraries are served by the Oracle Extension Pack for Eclipse (OEPE). Unfortunately there is not current OEPE for the Eclipse version 2022-09 and later. Therefore I chose the latest available OEPE for Eclipse Photon. I don't know why Eclipse 2022-06 is the latest Eclipse version that seems to include these dependencies by default...

fidley commented 1 year ago

Note: The selected libraries are served by the Oracle Extension Pack for Eclipse (OEPE). Unfortunately there is not current OEPE for the Eclipse version 2022-09 and later. Therefore I chose the latest available OEPE for Eclipse Photon. I don't know why Eclipse 2022-06 is the latest Eclipse version that seems to include these dependencies by default...

Because 2022-06 was the latest version that was working with Java 1.8. Since Java 9 those libraries were renamed.

frankclassens commented 1 year ago

@mrsetosan The workaround does the job for me. Thanks!

jpbourne commented 1 year ago

I experienced PKIX certificate errors, for example "PKIX path building failed: sun.security.provider.SunCertPathBuilderException", whilst trying to install the dependencies listed above using Eclipse 4.26 (2022-12). SAP note 3131747 provided the solution which is to close down Eclipse, edit eclipse.ini file and make the following changes:

Add the following lines into the "eclipse.ini" file right after the line:"-vmargs"

-Djavax.net.ssl.trustStore=NUL
-Djavax.net.ssl.trustStoreType=Windows-ROOT

After the above changes, I was able to install the dependencies from link http://download.oracle.com/otn_software/oepe/12.2.1.10/photon/repository/dependencies

jjardim85 commented 1 year ago

@ABAP-Pete25 @TimoJohn @calltobharath @frankclassens same issue here.

The following workaround fixed it for me (2022-12 Eclipse Java Enterprise):

  1. Go to Help -> Install New Software -> Add in Eclipse.
  2. Add http://download.oracle.com/otn_software/oepe/12.2.1.10/photon/repository/ as new installation repository if not existing yet.
  3. Choose this repository.
  4. Select the following libraries listed under "All Bundles": org.apiguardian:apiguardian-api org.junit.jupiter:junit.jupiter-api org.junit.jupiter:junit.jupiter-engine org.junit.jupiter:junit.jupiter-migrationsupport org.junit.jupiter:junit.jupiter-params org.junit.platform:junit.platform-commons org.junit.platform:junit.platform-engine org.junit.platform:junit.platform-launcher org.junit.platform:junit.platform-runner org.junit.platform:junit.platform-suite-api org.junit.vintage:junit.vintage-engine grafik
  5. Install selected libraries.
  6. Restart Eclipse.
  7. Install ABAP CI from Eclipse marketplace.
  8. Have fun.

Leave a comment if this workaround fixes the issue for you too.

HTH

Note: The selected libraries are served by the Oracle Extension Pack for Eclipse (OEPE). Unfortunately there is not current OEPE for the Eclipse version 2022-09 and later. Therefore I chose the latest available OEPE for Eclipse Photon. I don't know why Eclipse 2022-06 is the latest Eclipse version that seems to include these dependencies by default...

I experienced PKIX certificate errors, for example "PKIX path building failed: sun.security.provider.SunCertPathBuilderException", whilst trying to install the dependencies listed above using Eclipse 4.26 (2022-12). SAP note 3131747 provided the solution which is to close down Eclipse, edit eclipse.ini file and make the following changes:

Add the following lines into the "eclipse.ini" file right after the line:"-vmargs"

-Djavax.net.ssl.trustStore=NUL
-Djavax.net.ssl.trustStoreType=Windows-ROOT

After the above changes, I was able to install the dependencies from link http://download.oracle.com/otn_software/oepe/12.2.1.10/photon/repository/dependencies

With the link from @jpbourne in the solution from @mrsetosan, I was able to install the ABAP CI in Eclipse 2023-03 version.

image

image

Thank you

d023604 commented 1 year ago

I also can report success with Eclipse 2023-03.

From the Eclipse installer - I selected the Eclipse IDE for RCP and RAP Developers. I then installed ABAP Core Development Tools I then installed the missing pieces, as others have highlighted above, from the Eclipse Orbit P2 Repository of 2023 Mar 02 found here:

Orbit P2 - https://download.eclipse.org/tools/orbit/downloads/drops/R20230302014618/repository

As an aside: The Eclipse Orbit project provides a repository of bundled versions of third party libraries that are approved for use in one or more Eclipse projects. The repository maintains current and old versions of such libraries to facilitate current builds as well as the rebuilding of historical output.

The project site is https://projects.eclipse.org/projects/tools.orbit

RSegaux commented 1 year ago

Many thanks, the workaround works fine for me in version 2023-03 !

UPDATE the installation worked but i'm not able to find the "colored projects" in the avalaible views and "Abap CI" does not appear in the preferences

d023604 commented 1 year ago

Many thanks, the workaround works fine for me in version 2023-03 !

UPDATE the installation worked but i'm not able to find the "colored projects" in the avalaible views and "Abap CI" does not appear in the preferences

I also observe successful installation - and also miss the plug-in in the preferences.

A look in the Error Log of Eclipse shows a FrameworkEvent ERROR with the plug-in com.abapci.plugin upon starting Eclipse:

org.osgi.framework.BundleException: Could not resolve module: com.abapci.plugin [846]
  Bundle was not resolved because of a uses constraint violation.
  org.apache.felix.resolver.reason.ReasonException: Uses constraint violation. Unable to resolve resource com.abapci.plugin [osgi.identity; type="osgi.bundle"; version:Version="0.5.5.2"; osgi.identity="com.abapci.plugin"; singleton:="true"] because it is exposed to package 'org.junit.platform.commons.annotation' from resources org.junit.platform.commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.1.v20221103-2317"; osgi.identity="org.junit.platform.commons"] and junit-platform-commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.2"; osgi.identity="junit-platform-commons"] via two dependency chains.

Chain 1:
  com.abapci.plugin [osgi.identity; type="osgi.bundle"; version:Version="0.5.5.2"; osgi.identity="com.abapci.plugin"; singleton:="true"]
    require: (osgi.wiring.bundle=org.junit.platform.commons)
     |
    provide: osgi.wiring.bundle: org.junit.platform.commons
  org.junit.platform.commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.1.v20221103-2317"; osgi.identity="org.junit.platform.commons"]

Chain 2:
  com.abapci.plugin [osgi.identity; type="osgi.bundle"; version:Version="0.5.5.2"; osgi.identity="com.abapci.plugin"; singleton:="true"]
    require: (osgi.wiring.bundle=org.junit.platform.suite.api)
     |
    provide: osgi.wiring.bundle; bundle-version:Version="1.9.1.v20221103-2317"; osgi.wiring.bundle="org.junit.platform.suite.api"
  org.junit.platform.suite.api [osgi.identity; type="osgi.bundle"; version:Version="1.9.1.v20221103-2317"; osgi.identity="org.junit.platform.suite.api"]
    import: (&(osgi.wiring.package=org.junit.platform.commons.annotation)(&(version>=1.9.1)(!(version>=2.0.0))))
     |
    export: osgi.wiring.package: org.junit.platform.commons.annotation
  junit-platform-commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.2"; osgi.identity="junit-platform-commons"]
    at org.eclipse.osgi.container.Module.start(Module.java:463)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1852)
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1845)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1786)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1750)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1672)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
d023604 commented 1 year ago

RSegaux A minor miracle

After some direct editing of the .p2/pool/plugins/ directory, I removed the junit-jupiters jar files and left the org.junit.jupiter jar files in place.

Restart shows no errors and we finally have the configuration settings available for edit.

image

Now to start with a clean installation and work out the minimum necessary steps to get this working.

RSegaux commented 1 year ago

@d023604 Thanks for your proposal but it doesn't work for me. I still have no "colored project" in the preferences

RSegaux commented 1 year ago

the detail of the error :

_org.osgi.framework.BundleException: Could not resolve module: com.abapci.plugin [5160] Bundle was not resolved because of a uses constraint violation. org.apache.felix.resolver.reason.ReasonException: Uses constraint violation. Unable to resolve resource com.abapci.plugin [osgi.identity; type="osgi.bundle"; version:Version="0.5.5.2"; osgi.identity="com.abapci.plugin"; singleton:="true"] because it is exposed to package 'org.junit.platform.commons.annotation' from resources org.junit.platform.commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.1.v20221103-2317"; osgi.identity="org.junit.platform.commons"] and junit-platform-commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.2"; osgi.identity="junit-platform-commons"] via two dependency chains.

Chain 1: com.abapci.plugin [osgi.identity; type="osgi.bundle"; version:Version="0.5.5.2"; osgi.identity="com.abapci.plugin"; singleton:="true"] require: (osgi.wiring.bundle=org.junit.platform.commons) | provide: osgi.wiring.bundle: org.junit.platform.commons org.junit.platform.commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.1.v20221103-2317"; osgi.identity="org.junit.platform.commons"]

Chain 2: com.abapci.plugin [osgi.identity; type="osgi.bundle"; version:Version="0.5.5.2"; osgi.identity="com.abapci.plugin"; singleton:="true"] require: (osgi.wiring.bundle=org.junit.platform.suite.api) provide: osgi.wiring.bundle; bundle-version:Version="1.9.1.v20221103-2317"; osgi.wiring.bundle="org.junit.platform.suite.api" org.junit.platform.suite.api [osgi.identity; type="osgi.bundle"; version:Version="1.9.1.v20221103-2317"; osgi.identity="org.junit.platform.suite.api"] import: (&(osgi.wiring.package=org.junit.platform.commons.annotation)(&(version>=1.9.1)(!(version>=2.0.0))))
export: osgi.wiring.package: org.junit.platform.commons.annotation

junit-platform-commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.2"; osgi.identity="junit-platform-commons"] at org.eclipse.osgi.container.Module.start(Module.java:463) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1852) at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1845) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1786) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1750) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1672) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)_

jelliottp commented 1 year ago

Thanks for those instructions @d023604! I was able to get the plugin installed now on 2023-03, but still getting some errors like @RSegaux with the dependencies. I got mine down to:

org.osgi.framework.BundleException: Could not resolve module: com.abapci.plugin [2060]
  Bundle was not resolved because of a uses constraint violation.
  org.apache.felix.resolver.reason.ReasonException: Uses constraint violation. Unable to resolve resource com.abapci.plugin [osgi.identity; type="osgi.bundle"; version:Version="0.5.5.2"; osgi.identity="com.abapci.plugin"; singleton:="true"] because it is exposed to package 'org.junit.platform.commons.annotation' from resources org.junit.platform.commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.1.v20221103-2317"; osgi.identity="org.junit.platform.commons"] and junit-platform-commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.2"; osgi.identity="junit-platform-commons"] via two dependency chains.

Chain 1:
  com.abapci.plugin [osgi.identity; type="osgi.bundle"; version:Version="0.5.5.2"; osgi.identity="com.abapci.plugin"; singleton:="true"]
    require: (osgi.wiring.bundle=org.junit.platform.commons)
     |
    provide: osgi.wiring.bundle: org.junit.platform.commons
  org.junit.platform.commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.1.v20221103-2317"; osgi.identity="org.junit.platform.commons"]

Chain 2:
  com.abapci.plugin [osgi.identity; type="osgi.bundle"; version:Version="0.5.5.2"; osgi.identity="com.abapci.plugin"; singleton:="true"]
    require: (osgi.wiring.bundle=org.junit.platform.suite.api)
     |
    provide: osgi.wiring.bundle; bundle-version:Version="1.9.1.v20221103-2317"; osgi.wiring.bundle="org.junit.platform.suite.api"
  org.junit.platform.suite.api [osgi.identity; type="osgi.bundle"; version:Version="1.9.1.v20221103-2317"; osgi.identity="org.junit.platform.suite.api"]
    import: (&(osgi.wiring.package=org.junit.platform.commons.annotation)(&(version>=1.9.1)(!(version>=2.0.0))))
     |
    export: osgi.wiring.package: org.junit.platform.commons.annotation
  junit-platform-commons [osgi.identity; type="osgi.bundle"; version:Version="1.9.2"; osgi.identity="junit-platform-commons"]
    at org.eclipse.osgi.container.Module.start(Module.java:463)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1852)
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1845)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1786)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1750)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1672)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)

Seems to be an issue with the org.junit.platform.commons.annotation version but I don't have a solution. I may go back to 2022-06 at this point.

dude-alms0c commented 5 months ago

plugin installed with Eclipse 2023-12 and ADT 3.38

37

Marius-Brebulet commented 2 months ago

Hello, Can anyone help me with this problem? I am using: Eclipse IDE for Java Developers (includes Incubating components) Version: 2024-03 (4.31.0)

Cannot complete the install because one or more required items could not be found. Software currently installed: ABAP Continuous Integration 0.5.5.2 (com.abapci.feature.feature.group 0.5.5.2) Missing requirement: com.abapci.plugin 0.5.5.2 requires 'java.package; com.sap.adt.tools.abapsource.abapunit 0.0.0' but it could not be found Cannot satisfy dependency: From: ABAP Continuous Integration 0.5.5.2 (com.abapci.feature.feature.group 0.5.5.2) To: org.eclipse.equinox.p2.iu; com.abapci.plugin [0.5.5.2,0.5.5.2]

RSegaux commented 2 months ago

Hello,

I have the same problem again after the eclipse update. I'm not able to solve it, I give up this tool, it's a pity.

EgbertVenema commented 1 month ago

Hours and hours of trying, still no luck getting past the initial error. No matter what instructions I follow or packages I install, the error when trying to install ABAP CI 0.5.5.2 remains the same:

com.abapci.plugin 0.5.5.2 requires 'osgi.bundle; org.junit.platform.commons 0.0.0' but it could not be found

The only reason I desperately want to install the plugin is the 'colored projects' option. With many S/4 HANA Public Cloud instances, you quickly get lost in all the tabs. Oh the time I've lost searching for the right one :|

How difficult is it to develop your own Eclipse plugins? Would perhaps even be worth it putting in the time to learn :)

fidley commented 1 month ago

It's not difficult but you need to learn a bit. You can start from https://www.vogella.com/, is really useful website.

You can also check mine Vertical Tabs plugin. It helps managing the tabs using additional view.

EgbertVenema commented 1 month ago

It's not difficult but you need to learn a bit. You can start from https://www.vogella.com/, is really useful website.

You can also check mine Vertical Tabs plugin. It helps managing the tabs using additional view.

Thanks for the link, looks like a solid starting point! Now to figure out what type of plugin/extension this would be, because you're immediately swamped with new Eclipse terminology. Ah well, part of the learning journey I suppose.

Wow that's actually a very useful plugin! I would argue it's even better then just color coding :)