diff --git a/.github/workflows/demo-testing.yml b/.github/workflows/demo-testing.yml index 150ae8ee..cafda174 100644 --- a/.github/workflows/demo-testing.yml +++ b/.github/workflows/demo-testing.yml @@ -27,7 +27,6 @@ jobs: - name: run demo image and ensure dependency output unchanged run: | podman run --entrypoint /usr/bin/konveyor-analyzer-dep -v $(pwd)/demo-dep-output.yaml:/analyzer-lsp/demo-dep-output.yaml:Z localhost/testing:latest --output-file=demo-dep-output.yaml - podman run -v $(pwd)/demo-output.yaml:/analyzer-lsp/output.yaml:Z localhost/testing:latest diff \ <(yq -P 'sort_keys(..)' -o=props <(git show HEAD:demo-dep-output.yaml)) \ <(yq -P 'sort_keys(..)' -o=props <(cat demo-dep-output.yaml)) diff --git a/.gitignore b/.gitignore index 4beca754..7b6729d5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,12 @@ .vscode .idea +.settings/ +.classpath +.project +target/ *.metadata* jdt.ls-java-project examples/java/*.project -examples/java/target -examples/java/.settings -examples/java/.classpath -examples/java/.project examples/python/.venv examples/python/__pycache__ org.eclipse.core* @@ -19,4 +19,4 @@ go.work go.work.sum external-providers/generic-external-provider/generic-external-provider -external-providers/golang-dependency-provider/golang-dependency-provider \ No newline at end of file +external-providers/golang-dependency-provider/golang-dependency-provider diff --git a/demo-dep-output.yaml b/demo-dep-output.yaml index a6b119e7..3ece2aeb 100644 --- a/demo-dep-output.yaml +++ b/demo-dep-output.yaml @@ -1165,6 +1165,7 @@ - name: com.fasterxml.jackson.core.jackson-core version: 2.13.3 type: compile + indirect: true resolvedIdentifier: a27014716e4421684416e5fa83d896ddb87002da extras: artifactId: jackson-core @@ -1177,6 +1178,7 @@ - name: com.fasterxml.jackson.core.jackson-databind version: 2.13.3 type: compile + indirect: true resolvedIdentifier: 56deb9ea2c93a7a556b3afbedd616d342963464e extras: artifactId: jackson-databind @@ -1189,6 +1191,7 @@ - name: com.fasterxml.jackson.dataformat.jackson-dataformat-yaml version: 2.13.3 type: compile + indirect: true resolvedIdentifier: 9363ded5441b1fee62d5be0604035690ca759a2a extras: artifactId: jackson-dataformat-yaml @@ -1201,6 +1204,7 @@ - name: com.fasterxml.jackson.datatype.jackson-datatype-jsr310 version: 2.13.3 type: compile + indirect: true resolvedIdentifier: ad2f4c61aeb9e2a8bb5e4a3ed782cfddec52d972 extras: artifactId: jackson-datatype-jsr310 @@ -1249,6 +1253,19 @@ - konveyor.io/dep-source=open-source - konveyor.io/language=java prefix: file:///root/.m2/repository/com/squareup/okio/okio/1.15.0 + - name: com.sun.mail.javax.mail + version: 1.5.0 + type: provided + indirect: true + resolvedIdentifier: ec2410fdf7e0a3022e7c2a2e6241039d1abc1e98 + extras: + artifactId: javax.mail + groupId: com.sun.mail + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/com/sun/mail/javax.mail/1.5.0 - name: io.fabric8.kubernetes-client version: 6.0.0 type: compile @@ -1289,6 +1306,7 @@ - name: io.fabric8.kubernetes-model-admissionregistration version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 9e3b0d4caa3d033fa0f71c71d8a535a748b280ba extras: artifactId: kubernetes-model-admissionregistration @@ -1301,6 +1319,7 @@ - name: io.fabric8.kubernetes-model-apiextensions version: 6.0.0 type: compile + indirect: true resolvedIdentifier: eac63b8dec80e96c4356c91ed0a332415efcb75e extras: artifactId: kubernetes-model-apiextensions @@ -1313,6 +1332,7 @@ - name: io.fabric8.kubernetes-model-apps version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 4dbda6401058a5fd3a4c6be88fc1bf4f99296c4f extras: artifactId: kubernetes-model-apps @@ -1325,6 +1345,7 @@ - name: io.fabric8.kubernetes-model-autoscaling version: 6.0.0 type: compile + indirect: true resolvedIdentifier: b353e45133fbc80791d676b16203ec94c0958b7d extras: artifactId: kubernetes-model-autoscaling @@ -1337,6 +1358,7 @@ - name: io.fabric8.kubernetes-model-batch version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 9f14cbfc75d172fa81f3f6ad793bdd45a2decaec extras: artifactId: kubernetes-model-batch @@ -1349,6 +1371,7 @@ - name: io.fabric8.kubernetes-model-certificates version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 33f5a3f386cddda55003e1616303ab924fcd3ca5 extras: artifactId: kubernetes-model-certificates @@ -1374,6 +1397,7 @@ - name: io.fabric8.kubernetes-model-coordination version: 6.0.0 type: compile + indirect: true resolvedIdentifier: cd454532158351d8ff37616dc33749ca2a85c8d1 extras: artifactId: kubernetes-model-coordination @@ -1386,6 +1410,7 @@ - name: io.fabric8.kubernetes-model-core version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 73469e4a7baec7600455d7f4a121c6680e80bf35 extras: artifactId: kubernetes-model-core @@ -1398,6 +1423,7 @@ - name: io.fabric8.kubernetes-model-discovery version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 246ad448a1868b3c601394e21350a9602adef24c extras: artifactId: kubernetes-model-discovery @@ -1410,6 +1436,7 @@ - name: io.fabric8.kubernetes-model-events version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 204c2c78a4a8e0b5f5ebc1b788c9f22a8c1b14ab extras: artifactId: kubernetes-model-events @@ -1422,6 +1449,7 @@ - name: io.fabric8.kubernetes-model-extensions version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 60c9e43f1f34ab9c145798471926c07e13e45ecf extras: artifactId: kubernetes-model-extensions @@ -1434,6 +1462,7 @@ - name: io.fabric8.kubernetes-model-flowcontrol version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 3b01d9eab7e7d7c9d46d8828202bff78fbdaa7d9 extras: artifactId: kubernetes-model-flowcontrol @@ -1446,6 +1475,7 @@ - name: io.fabric8.kubernetes-model-metrics version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 1a400f8f7915bd2a68fa075605768d762aaad4cb extras: artifactId: kubernetes-model-metrics @@ -1458,6 +1488,7 @@ - name: io.fabric8.kubernetes-model-networking version: 6.0.0 type: compile + indirect: true resolvedIdentifier: c87e11bebb26bb48660765b42a68f9577336b799 extras: artifactId: kubernetes-model-networking @@ -1470,6 +1501,7 @@ - name: io.fabric8.kubernetes-model-node version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 972706f6dffa518e11c94647cf47e188db6115f6 extras: artifactId: kubernetes-model-node @@ -1482,6 +1514,7 @@ - name: io.fabric8.kubernetes-model-policy version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 15b3011eb5ff48b9fc2bd8bcc4db697ca9ec30e4 extras: artifactId: kubernetes-model-policy @@ -1494,6 +1527,7 @@ - name: io.fabric8.kubernetes-model-rbac version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 03ad461761d775ff9c252d2b26a4977d22dd0f3a extras: artifactId: kubernetes-model-rbac @@ -1506,6 +1540,7 @@ - name: io.fabric8.kubernetes-model-scheduling version: 6.0.0 type: compile + indirect: true resolvedIdentifier: a5fae7294f5c39fb9d7cffb7280b55ca458c9128 extras: artifactId: kubernetes-model-scheduling @@ -1518,6 +1553,7 @@ - name: io.fabric8.kubernetes-model-storageclass version: 6.0.0 type: compile + indirect: true resolvedIdentifier: 6ffa61f9021d07a4a9d785e83a513955a3c48073 extras: artifactId: kubernetes-model-storageclass @@ -1540,6 +1576,117 @@ - konveyor.io/dep-source=open-source - konveyor.io/language=java prefix: file:///root/.m2/repository/io/fabric8/zjsonpatch/0.3.0 + - name: io.netty.netty-buffer + version: 4.1.76.Final + type: runtime + resolvedIdentifier: 231f5042a5050773eb22a918e84daff3f00892f2 + extras: + artifactId: netty-buffer + groupId: io.netty + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/io/netty/netty-buffer/4.1.76.Final + - name: io.netty.netty-common + version: 4.1.76.Final + type: runtime + resolvedIdentifier: 38d0b500f098dc89497b6e608d7427186f533cf0 + extras: + artifactId: netty-common + groupId: io.netty + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/io/netty/netty-common/4.1.76.Final + - name: io.netty.netty-resolver + version: 4.1.76.Final + type: runtime + indirect: true + resolvedIdentifier: e0b225a33772cb7bba73dc296cccefa6826ab8cc + extras: + artifactId: netty-resolver + groupId: io.netty + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/io/netty/netty-resolver/4.1.76.Final + - name: io.netty.netty-transport + version: 4.1.76.Final + type: runtime + resolvedIdentifier: f01d2f935005b6fdb2fedc23114d2ae717749c36 + extras: + artifactId: netty-transport + groupId: io.netty + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/io/netty/netty-transport/4.1.76.Final + - name: io.netty.netty-transport-classes-epoll + version: 4.1.76.Final + type: runtime + resolvedIdentifier: 921b92a76116674218af3dc4bbf43d73884e4146 + extras: + artifactId: netty-transport-classes-epoll + groupId: io.netty + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/io/netty/netty-transport-classes-epoll/4.1.76.Final + - name: io.netty.netty-transport-native-epoll + version: 4.1.76.Final + classifier: linux-x86_64 + type: runtime + resolvedIdentifier: e1ee2a9c5f63b1b71260caf127a1e50667d62854 + extras: + artifactId: netty-transport-native-epoll + groupId: io.netty + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/io/netty/netty-transport-native-epoll/4.1.76.Final + - name: io.netty.netty-transport-native-unix-common + version: 4.1.76.Final + type: runtime + resolvedIdentifier: d5ed8c4be9680203c53f7ed788225c12c4d87ee0 + extras: + artifactId: netty-transport-native-unix-common + groupId: io.netty + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/io/netty/netty-transport-native-unix-common/4.1.76.Final + - name: javax.activation.activation + version: "1.1" + type: provided + indirect: true + resolvedIdentifier: e6cb541461c2834bdea3eb920f1884d1eb508b50 + extras: + artifactId: activation + groupId: javax.activation + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/javax/activation/activation/1.1 + - name: javax.javaee-api + version: "7.0" + type: provided + resolvedIdentifier: 51399f902cc27a808122edcbebfaa1ad989954ba + extras: + artifactId: javaee-api + groupId: javax + pomPath: /analyzer-lsp/examples/java/pom.xml + labels: + - konveyor.io/dep-source=open-source + - konveyor.io/language=java + prefix: file:///root/.m2/repository/javax/javaee-api/7.0 - name: junit.junit version: "4.11" type: test @@ -1568,6 +1715,7 @@ - name: org.slf4j.slf4j-api version: 1.7.36 type: compile + indirect: true resolvedIdentifier: 6c62681a2f655b49963a5983b8b0950a6120ae14 extras: artifactId: slf4j-api diff --git a/demo-output.yaml b/demo-output.yaml index c1a98c69..12864c19 100644 --- a/demo-output.yaml +++ b/demo-output.yaml @@ -146,26 +146,94 @@ data: dependency innerText: "\n\t\t\torg.springframework\n\t\t\tspring-webmvc\n\t\t\t${spring-framework.version}\n\t\t" matchingXML: org.springframeworkspring-webmvc${spring-framework.version} + - uri: file:///analyzer-lsp/examples/java/dummy/pom.xml + message: |- + javaxjavaee-api${javaee-api.version}provided + variables: + data: dependency + innerText: "\n javax\n javaee-api\n \n ${javaee-api.version}\n provided\n " + matchingXML: |- + javaxjavaee-api${javaee-api.version}provided - uri: file:///analyzer-lsp/examples/java/pom.xml message: io.fabric8kubernetes-client-api6.0.0 - codeSnip: "25 4.11\n26 test\n27 \n28 \n29 io.fabric8\n30 kubernetes-client\n31 6.0.0\n32 \n33 \n34 io.fabric8\n35 kubernetes-client-api\n36 6.0.0\n37 \n38 \n39 \n40 \n41 \n42 \n43 \n44 \n45 maven-clean-plugin" - lineNumber: 34 + codeSnip: |- + 30 4.11 + 31 test + 32 + 33 + 34 io.fabric8 + 35 kubernetes-client + 36 6.0.0 + 37 + 38 + 39 io.fabric8 + 40 kubernetes-client-api + 41 6.0.0 + 42 + 43 + 44 javax + 45 javaee-api + 46 ${javaee-api.version} + 47 provided + 48 + 49 + 50 + lineNumber: 39 variables: data: dependency innerText: "\n io.fabric8\n kubernetes-client-api\n 6.0.0\n " matchingXML: io.fabric8kubernetes-client-api6.0.0 - uri: file:///analyzer-lsp/examples/java/pom.xml message: io.fabric8kubernetes-client6.0.0 - codeSnip: "20 \n21 \n22 \n23 junit\n24 junit\n25 4.11\n26 test\n27 \n28 \n29 io.fabric8\n30 kubernetes-client\n31 6.0.0\n32 \n33 \n34 io.fabric8\n35 kubernetes-client-api\n36 6.0.0\n37 \n38 \n39 \n40 " - lineNumber: 29 + codeSnip: "25 \n26 \n27 \n28 junit\n29 junit\n30 4.11\n31 test\n32 \n33 \n34 io.fabric8\n35 kubernetes-client\n36 6.0.0\n37 \n38 \n39 io.fabric8\n40 kubernetes-client-api\n41 6.0.0\n42 \n43 \n44 javax\n45 javaee-api" + lineNumber: 34 variables: data: dependency innerText: "\n io.fabric8\n kubernetes-client\n 6.0.0\n " matchingXML: io.fabric8kubernetes-client6.0.0 + - uri: file:///analyzer-lsp/examples/java/pom.xml + message: io.nettynetty-transport-native-epoll4.1.76.Finallinux-x86_64runtime + codeSnip: "42 \n43 \n44 javax\n45 javaee-api\n46 ${javaee-api.version}\n47 provided\n48 \n49 \n50 \n51 io.netty\n52 netty-transport-native-epoll\n53 4.1.76.Final\n54 linux-x86_64\n55 runtime\n56 \n57 \n58 \n59 \n60 \n61 \n62 " + lineNumber: 51 + variables: + data: dependency + innerText: "\n io.netty\n netty-transport-native-epoll\n 4.1.76.Final\n linux-x86_64\n runtime\n " + matchingXML: io.nettynetty-transport-native-epoll4.1.76.Finallinux-x86_64runtime + - uri: file:///analyzer-lsp/examples/java/pom.xml + message: javaxjavaee-api${javaee-api.version}provided + codeSnip: |- + 35 kubernetes-client + 36 6.0.0 + 37 + 38 + 39 io.fabric8 + 40 kubernetes-client-api + 41 6.0.0 + 42 + 43 + 44 javax + 45 javaee-api + 46 ${javaee-api.version} + 47 provided + 48 + 49 + 50 + 51 io.netty + 52 netty-transport-native-epoll + 53 4.1.76.Final + 54 linux-x86_64 + 55 runtime + lineNumber: 44 + variables: + data: dependency + innerText: "\n javax\n javaee-api\n ${javaee-api.version}\n provided\n " + matchingXML: javaxjavaee-api${javaee-api.version}provided - uri: file:///analyzer-lsp/examples/java/pom.xml message: junitjunit4.11test - codeSnip: "14 \n15 \n16 UTF-8\n17 1.7\n18 1.7\n19 \n20 \n21 \n22 \n23 junit\n24 junit\n25 4.11\n26 test\n27 \n28 \n29 io.fabric8\n30 kubernetes-client\n31 6.0.0\n32 \n33 \n34 io.fabric8" - lineNumber: 23 + codeSnip: "19 \n20 UTF-8\n21 1.7\n22 1.7\n23 7.0\n24 \n25 \n26 \n27 \n28 junit\n29 junit\n30 4.11\n31 test\n32 \n33 \n34 io.fabric8\n35 kubernetes-client\n36 6.0.0\n37 \n38 \n39 io.fabric8" + lineNumber: 28 variables: data: dependency innerText: "\n junit\n junit\n 4.11\n test\n " @@ -229,15 +297,15 @@ incidents: - uri: file:///analyzer-lsp/examples/java/pom.xml message: dependency io.fabric8.kubernetes-client with 6.0.0 is bad and you should feel bad for using it - codeSnip: "20 \n21 \n22 \n23 junit\n24 junit\n25 4.11\n26 test\n27 \n28 \n29 io.fabric8\n30 kubernetes-client\n31 6.0.0\n32 \n33 \n34 io.fabric8\n35 kubernetes-client-api\n36 6.0.0\n37 \n38 \n39 \n40 " - lineNumber: 29 + codeSnip: "25 \n26 \n27 \n28 junit\n29 junit\n30 4.11\n31 test\n32 \n33 \n34 io.fabric8\n35 kubernetes-client\n36 6.0.0\n37 \n38 \n39 io.fabric8\n40 kubernetes-client-api\n41 6.0.0\n42 \n43 \n44 javax\n45 javaee-api" + lineNumber: 34 variables: name: io.fabric8.kubernetes-client version: 6.0.0 - uri: file:///analyzer-lsp/examples/java/pom.xml message: dependency junit.junit with 4.11 is bad and you should feel bad for using it - codeSnip: "14 \n15 \n16 UTF-8\n17 1.7\n18 1.7\n19 \n20 \n21 \n22 \n23 junit\n24 junit\n25 4.11\n26 test\n27 \n28 \n29 io.fabric8\n30 kubernetes-client\n31 6.0.0\n32 \n33 \n34 io.fabric8" - lineNumber: 23 + codeSnip: "19 \n20 UTF-8\n21 1.7\n22 1.7\n23 7.0\n24 \n25 \n26 \n27 \n28 junit\n29 junit\n30 4.11\n31 test\n32 \n33 \n34 io.fabric8\n35 kubernetes-client\n36 6.0.0\n37 \n38 \n39 io.fabric8" + lineNumber: 28 variables: name: junit.junit version: "4.11" @@ -250,55 +318,6 @@ lineNumber: 10 variables: file: file:///analyzer-lsp/examples/golang/main.go - - uri: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - message: apiextensions/v1beta1/customresourcedefinitions is deprecated, apiextensions/v1/customresourcedefinitions should be used instead - codeSnip: " 1 package com.example.apps;\n 2 \n 3 import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition;\n 4 \n 5 public class App \n 6 {\n 7 \n 8 /**\n 9 * {@link CustomResourceDefinition}\n10 * @param args\n11 */\n12 public static void main( String[] args )\n13 {" - lineNumber: 3 - variables: - file: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - kind: Module - name: io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition - - uri: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - message: apiextensions/v1beta1/customresourcedefinitions is deprecated, apiextensions/v1/customresourcedefinitions should be used instead - codeSnip: " 4 \n 5 public class App \n 6 {\n 7 \n 8 /**\n 9 * {@link CustomResourceDefinition}\n10 * @param args\n11 */\n12 public static void main( String[] args )\n13 {\n14 CustomResourceDefinition crd = new CustomResourceDefinition();\n15 System.out.println( crd );\n16 \n17 GenericClass element = new GenericClass(\"Hello world!\");\n18 element.get();\n19 }\n20 }\n" - lineNumber: 14 - variables: - file: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - kind: Method - name: main - lang-ref-003: - description: "" - category: potential - incidents: - - uri: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - message: java found apiextensions/v1/customresourcedefinitions found file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java:14 - codeSnip: " 4 \n 5 public class App \n 6 {\n 7 \n 8 /**\n 9 * {@link CustomResourceDefinition}\n10 * @param args\n11 */\n12 public static void main( String[] args )\n13 {\n14 CustomResourceDefinition crd = new CustomResourceDefinition();\n15 System.out.println( crd );\n16 \n17 GenericClass element = new GenericClass(\"Hello world!\");\n18 element.get();\n19 }\n20 }\n" - lineNumber: 14 - variables: - file: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - kind: Method - name: main - - uri: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - message: java found apiextensions/v1/customresourcedefinitions found file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java:3 - codeSnip: " 1 package com.example.apps;\n 2 \n 3 import io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition;\n 4 \n 5 public class App \n 6 {\n 7 \n 8 /**\n 9 * {@link CustomResourceDefinition}\n10 * @param args\n11 */\n12 public static void main( String[] args )\n13 {" - lineNumber: 3 - variables: - file: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - kind: Module - name: io.fabric8.kubernetes.api.model.apiextensions.v1beta1.CustomResourceDefinition - lang-ref-004: - description: "" - category: potential - incidents: - - uri: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - message: found generic call - codeSnip: " 8 /**\n 9 * {@link CustomResourceDefinition}\n10 * @param args\n11 */\n12 public static void main( String[] args )\n13 {\n14 CustomResourceDefinition crd = new CustomResourceDefinition();\n15 System.out.println( crd );\n16 \n17 GenericClass element = new GenericClass(\"Hello world!\");\n18 element.get();\n19 }\n20 }\n" - lineNumber: 18 - variables: - VariableName: element - file: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/App.java - kind: Method - name: main multiple-actions-001: description: "" category: potential @@ -345,46 +364,6 @@ lineNumber: 27 variables: file: file:///analyzer-lsp/examples/python/main.py - singleton-sessionbean-00001: - description: "" - category: potential - incidents: - - uri: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/Singleton.java - message: condition entries should evaluate out of order - codeSnip: " 1 package com.example.apps;\n 2 \n 3 import javax.ejb.SessionBean;\n 4 import javax.ejb.Singleton;\n 5 \n 6 @Singleton\n 7 public class Bean implements SessionBean {\n 8 }\n" - lineNumber: 6 - variables: - file: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/Singleton.java - kind: Class - name: Singleton - - uri: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/Singleton.java - message: condition entries should evaluate out of order - codeSnip: " 1 package com.example.apps;\n 2 \n 3 import javax.ejb.SessionBean;\n 4 import javax.ejb.Singleton;\n 5 \n 6 @Singleton\n 7 public class Bean implements SessionBean {\n 8 }\n" - lineNumber: 7 - variables: - file: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/Singleton.java - kind: Class - name: Bean - singleton-sessionbean-00002: - description: "" - category: potential - incidents: - - uri: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/Singleton.java - message: condition entries should evaluate in order - codeSnip: " 1 package com.example.apps;\n 2 \n 3 import javax.ejb.SessionBean;\n 4 import javax.ejb.Singleton;\n 5 \n 6 @Singleton\n 7 public class Bean implements SessionBean {\n 8 }\n" - lineNumber: 6 - variables: - file: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/Singleton.java - kind: Class - name: Singleton - - uri: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/Singleton.java - message: condition entries should evaluate in order - codeSnip: " 1 package com.example.apps;\n 2 \n 3 import javax.ejb.SessionBean;\n 4 import javax.ejb.Singleton;\n 5 \n 6 @Singleton\n 7 public class Bean implements SessionBean {\n 8 }\n" - lineNumber: 7 - variables: - file: file:///analyzer-lsp/examples/java/src/main/java/com/example/apps/Singleton.java - kind: Class - name: Bean tech-tag-001: description: "" category: potential @@ -540,26 +519,94 @@ data: dependency innerText: "\n\t\t\torg.springframework\n\t\t\tspring-webmvc\n\t\t\t${spring-framework.version}\n\t\t" matchingXML: org.springframeworkspring-webmvc${spring-framework.version} + - uri: file:///analyzer-lsp/examples/java/dummy/pom.xml + message: |- + POM XML dependencies - 'javaxjavaee-api${javaee-api.version}provided' + variables: + data: dependency + innerText: "\n javax\n javaee-api\n \n ${javaee-api.version}\n provided\n " + matchingXML: |- + javaxjavaee-api${javaee-api.version}provided - uri: file:///analyzer-lsp/examples/java/pom.xml message: POM XML dependencies - 'io.fabric8kubernetes-client-api6.0.0' - codeSnip: "25 4.11\n26 test\n27 \n28 \n29 io.fabric8\n30 kubernetes-client\n31 6.0.0\n32 \n33 \n34 io.fabric8\n35 kubernetes-client-api\n36 6.0.0\n37 \n38 \n39 \n40 \n41 \n42 \n43 \n44 \n45 maven-clean-plugin" - lineNumber: 34 + codeSnip: |- + 30 4.11 + 31 test + 32 + 33 + 34 io.fabric8 + 35 kubernetes-client + 36 6.0.0 + 37 + 38 + 39 io.fabric8 + 40 kubernetes-client-api + 41 6.0.0 + 42 + 43 + 44 javax + 45 javaee-api + 46 ${javaee-api.version} + 47 provided + 48 + 49 + 50 + lineNumber: 39 variables: data: dependency innerText: "\n io.fabric8\n kubernetes-client-api\n 6.0.0\n " matchingXML: io.fabric8kubernetes-client-api6.0.0 - uri: file:///analyzer-lsp/examples/java/pom.xml message: POM XML dependencies - 'io.fabric8kubernetes-client6.0.0' - codeSnip: "20 \n21 \n22 \n23 junit\n24 junit\n25 4.11\n26 test\n27 \n28 \n29 io.fabric8\n30 kubernetes-client\n31 6.0.0\n32 \n33 \n34 io.fabric8\n35 kubernetes-client-api\n36 6.0.0\n37 \n38 \n39 \n40 " - lineNumber: 29 + codeSnip: "25 \n26 \n27 \n28 junit\n29 junit\n30 4.11\n31 test\n32 \n33 \n34 io.fabric8\n35 kubernetes-client\n36 6.0.0\n37 \n38 \n39 io.fabric8\n40 kubernetes-client-api\n41 6.0.0\n42 \n43 \n44 javax\n45 javaee-api" + lineNumber: 34 variables: data: dependency innerText: "\n io.fabric8\n kubernetes-client\n 6.0.0\n " matchingXML: io.fabric8kubernetes-client6.0.0 + - uri: file:///analyzer-lsp/examples/java/pom.xml + message: POM XML dependencies - 'io.nettynetty-transport-native-epoll4.1.76.Finallinux-x86_64runtime' + codeSnip: "42 \n43 \n44 javax\n45 javaee-api\n46 ${javaee-api.version}\n47 provided\n48 \n49 \n50 \n51 io.netty\n52 netty-transport-native-epoll\n53 4.1.76.Final\n54 linux-x86_64\n55 runtime\n56 \n57 \n58 \n59 \n60 \n61 \n62 " + lineNumber: 51 + variables: + data: dependency + innerText: "\n io.netty\n netty-transport-native-epoll\n 4.1.76.Final\n linux-x86_64\n runtime\n " + matchingXML: io.nettynetty-transport-native-epoll4.1.76.Finallinux-x86_64runtime + - uri: file:///analyzer-lsp/examples/java/pom.xml + message: POM XML dependencies - 'javaxjavaee-api${javaee-api.version}provided' + codeSnip: |- + 35 kubernetes-client + 36 6.0.0 + 37 + 38 + 39 io.fabric8 + 40 kubernetes-client-api + 41 6.0.0 + 42 + 43 + 44 javax + 45 javaee-api + 46 ${javaee-api.version} + 47 provided + 48 + 49 + 50 + 51 io.netty + 52 netty-transport-native-epoll + 53 4.1.76.Final + 54 linux-x86_64 + 55 runtime + lineNumber: 44 + variables: + data: dependency + innerText: "\n javax\n javaee-api\n ${javaee-api.version}\n provided\n " + matchingXML: javaxjavaee-api${javaee-api.version}provided - uri: file:///analyzer-lsp/examples/java/pom.xml message: POM XML dependencies - 'junitjunit4.11test' - codeSnip: "14 \n15 \n16 UTF-8\n17 1.7\n18 1.7\n19 \n20 \n21 \n22 \n23 junit\n24 junit\n25 4.11\n26 test\n27 \n28 \n29 io.fabric8\n30 kubernetes-client\n31 6.0.0\n32 \n33 \n34 io.fabric8" - lineNumber: 23 + codeSnip: "19 \n20 UTF-8\n21 1.7\n22 1.7\n23 7.0\n24 \n25 \n26 \n27 \n28 junit\n29 junit\n30 4.11\n31 test\n32 \n33 \n34 io.fabric8\n35 kubernetes-client\n36 6.0.0\n37 \n38 \n39 io.fabric8" + lineNumber: 28 variables: data: dependency innerText: "\n junit\n junit\n 4.11\n test\n " @@ -571,3 +618,7 @@ unmatched: - file-002 - lang-ref-002 + - lang-ref-003 + - lang-ref-004 + - singleton-sessionbean-00001 + - singleton-sessionbean-00002 diff --git a/examples/java/dummy/pom.xml b/examples/java/dummy/pom.xml new file mode 100644 index 00000000..588e896c --- /dev/null +++ b/examples/java/dummy/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + + com.example.apps + java + 1.0-SNAPSHOT + + + dummy + + + + javax + javaee-api + + ${javaee-api.version} + provided + + + \ No newline at end of file diff --git a/examples/java/dummy/src/main/java/com/example/apps/Main.java b/examples/java/dummy/src/main/java/com/example/apps/Main.java new file mode 100644 index 00000000..a99ec092 --- /dev/null +++ b/examples/java/dummy/src/main/java/com/example/apps/Main.java @@ -0,0 +1,7 @@ +package com.example.apps; + +public class Main { + public static void main(String[] args) { + System.out.println("Hello world!"); + } +} \ No newline at end of file diff --git a/examples/java/pom.xml b/examples/java/pom.xml index 43332b82..6d551026 100644 --- a/examples/java/pom.xml +++ b/examples/java/pom.xml @@ -7,15 +7,20 @@ com.example.apps java 1.0-SNAPSHOT + pom java http://www.example.com + + dummy + UTF-8 1.7 1.7 + 7.0 @@ -35,6 +40,20 @@ kubernetes-client-api 6.0.0 + + javax + javaee-api + ${javaee-api.version} + provided + + + + io.netty + netty-transport-native-epoll + 4.1.76.Final + linux-x86_64 + runtime + diff --git a/examples/java/src/main/java/com/example/apps/Singleton.java b/examples/java/src/main/java/com/example/apps/Bean.java similarity index 65% rename from examples/java/src/main/java/com/example/apps/Singleton.java rename to examples/java/src/main/java/com/example/apps/Bean.java index 6ec4928f..21fc114b 100644 --- a/examples/java/src/main/java/com/example/apps/Singleton.java +++ b/examples/java/src/main/java/com/example/apps/Bean.java @@ -4,5 +4,5 @@ import javax.ejb.Singleton; @Singleton -public class Bean implements SessionBean { +public abstract class Bean implements SessionBean { }