-
Notifications
You must be signed in to change notification settings - Fork 551
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
feat: use break cycles logic of depgraph for snyk-gradle #1775
Conversation
- Deleted findCycles and breakCycles logic from snyk-gradle-plugin - Multi-config fixture plugin.test.ts has top level deps amount number aligned and with correct count, we were appending transitive deps as top to avoid loosing them due of lack of cycle/break support in dep-graph lib. - Dependency **org.jetbrains.kotlin:kotlin-stdlib** is no longer available as direct dep in **kotlin.test.ts** (it was wrong) as it's a transitive dependency see screenshot below. It was being `appended` as top due of the lack of cycle/break support in dep-graph lib <img width="542" alt="dependencies" src="https://user-images.githubusercontent.com/40601533/112800442-52873500-9078-11eb-98f9-3b305211e879.png"> - Added @snyk/dep-graph changes v1.27.1 remove cache in pathsToRoot v1.27 break cyclic graphs when converting into tree v1.26 support cycles in pkgPathsToRoot and countPathsToRoot
5ee755a
to
a62594b
Compare
Expected release notes (by @anthogez) features: others (will not be included in Semantic-Release notes):
|
{"schemaVersion":"1.2.0","pkgManager":{"name":"gradle"},"pkgs":[{"id":"workspaces@unspecified","info":{"name":"workspaces","version":"unspecified"}},{"id":"axis:axis-jaxrpc@1.3","info":{"name":"axis:axis-jaxrpc","version":"1.3"}},{"id":"axis:axis-saaj@1.3","info":{"name":"axis:axis-saaj","version":"1.3"}},{"id":"commons-logging:commons-logging@1.0.4","info":{"name":"commons-logging:commons-logging","version":"1.0.4"}},{"id":"commons-discovery:commons-discovery@0.2","info":{"name":"commons-discovery:commons-discovery","version":"0.2"}},{"id":"wsdl4j:wsdl4j@1.5.1","info":{"name":"wsdl4j:wsdl4j","version":"1.5.1"}},{"id":"axis:axis@1.3","info":{"name":"axis:axis","version":"1.3"}},{"id":"batik:batik-dom@1.6","info":{"name":"batik:batik-dom","version":"1.6"}},{"id":"com.android.tools.analytics-library:protos@25.3.0","info":{"name":"com.android.tools.analytics-library:protos","version":"25.3.0"}},{"id":"com.android.tools.analytics-library:shared@25.3.0","info":{"name":"com.android.tools.analytics-library:shared","version":"25.3.0"}},{"id":"com.google.protobuf:protobuf-java@3.0.0","info":{"name":"com.google.protobuf:protobuf-java","version":"3.0.0"}},{"id":"com.android.tools:annotations@25.2.0","info":{"name":"com.android.tools:annotations","version":"25.2.0"}},{"id":"com.android.tools:common@25.3.0","info":{"name":"com.android.tools:common","version":"25.3.0"}},{"id":"com.google.code.gson:gson@2.2.4","info":{"name":"com.google.code.gson:gson","version":"2.2.4"}},{"id":"com.google.guava:guava@18.0","info":{"name":"com.google.guava:guava","version":"18.0"}},{"id":"com.android.tools.analytics-library:tracker@25.3.0","info":{"name":"com.android.tools.analytics-library:tracker","version":"25.3.0"}},{"id":"com.android.tools.build:builder-model@2.3.0","info":{"name":"com.android.tools.build:builder-model","version":"2.3.0"}},{"id":"com.android.tools.build:builder-test-api@2.3.0","info":{"name":"com.android.tools.build:builder-test-api","version":"2.3.0"}},{"id":"net.sf.kxml:kxml2@2.3.0","info":{"name":"net.sf.kxml:kxml2","version":"2.3.0"}},{"id":"com.android.tools.ddms:ddmlib@25.3.0","info":{"name":"com.android.tools.ddms:ddmlib","version":"25.3.0"}},{"id":"com.intellij:annotations@12.0","info":{"name":"com.intellij:annotations","version":"12.0"}},{"id":"com.android.tools.layoutlib:layoutlib-api@25.3.0","info":{"name":"com.android.tools.layoutlib:layoutlib-api","version":"25.3.0"}},{"id":"com.android.tools:dvlib@25.3.0","info":{"name":"com.android.tools:dvlib","version":"25.3.0"}},{"id":"com.google.jimfs:jimfs@1.1","info":{"name":"com.google.jimfs:jimfs","version":"1.1"}},{"id":"org.apache.commons:commons-compress@1.8.1","info":{"name":"org.apache.commons:commons-compress","version":"1.8.1"}},{"id":"com.android.tools:repository@25.3.0","info":{"name":"com.android.tools:repository","version":"25.3.0"}},{"id":"commons-codec:commons-codec@1.4","info":{"name":"commons-codec:commons-codec","version":"1.4"}},{"id":"commons-logging:commons-logging@1.1.1","info":{"name":"commons-logging:commons-logging","version":"1.1.1"}},{"id":"org.apache.httpcomponents:httpcore@4.1","info":{"name":"org.apache.httpcomponents:httpcore","version":"4.1"}},{"id":"org.apache.httpcomponents:httpclient@4.1.1","info":{"name":"org.apache.httpcomponents:httpclient","version":"4.1.1"}},{"id":"org.apache.httpcomponents:httpmime@4.1","info":{"name":"org.apache.httpcomponents:httpmime","version":"4.1"}},{"id":"com.android.tools:sdklib@25.3.0","info":{"name":"com.android.tools:sdklib","version":"25.3.0"}},{"id":"org.bouncycastle:bcprov-jdk15on@1.48","info":{"name":"org.bouncycastle:bcprov-jdk15on","version":"1.48"}},{"id":"org.bouncycastle:bcpkix-jdk15on@1.48","info":{"name":"org.bouncycastle:bcpkix-jdk15on","version":"1.48"}},{"id":"com.android.tools:sdk-common@25.3.0","info":{"name":"com.android.tools:sdk-common","version":"25.3.0"}},{"id":"com.android.tools.build:manifest-merger@25.3.0","info":{"name":"com.android.tools.build:manifest-merger","version":"25.3.0"}},{"id":"com.android.tools.jack:jack-api@0.13.0","info":{"name":"com.android.tools.jack:jack-api","version":"0.13.0"}},{"id":"com.android.tools.jill:jill-api@0.10.0","info":{"name":"com.android.tools.jill:jill-api","version":"0.10.0"}},{"id":"com.squareup:javawriter@2.5.0","info":{"name":"com.squareup:javawriter","version":"2.5.0"}},{"id":"org.ow2.asm:asm@5.0.4","info":{"name":"org.ow2.asm:asm","version":"5.0.4"}},{"id":"org.ow2.asm:asm-tree@5.0.4","info":{"name":"org.ow2.asm:asm-tree","version":"5.0.4"}},{"id":"com.android.tools.build:builder@2.3.0","info":{"name":"com.android.tools.build:builder","version":"2.3.0"}}],"graph":{"rootNodeId":"root-node","nodes":[{"nodeId":"root-node","pkgId":"workspaces@unspecified","deps":[{"nodeId":"axis:axis@1.3"},{"nodeId":"batik:batik-dom@1.6"},{"nodeId":"com.android.tools.build:builder@2.3.0"},{"nodeId":"com.google.guava:guava@18.0"},{"nodeId":"commons-discovery:commons-discovery@0.2"}]},{"nodeId":"axis:axis-jaxrpc@1.3","pkgId":"axis:axis-jaxrpc@1.3","deps":[]},{"nodeId":"axis:axis-saaj@1.3","pkgId":"axis:axis-saaj@1.3","deps":[]},{"nodeId":"commons-logging:commons-logging@1.0.4","pkgId":"commons-logging:commons-logging@1.0.4","deps":[]},{"nodeId":"commons-discovery:commons-discovery@0.2","pkgId":"commons-discovery:commons-discovery@0.2","deps":[{"nodeId":"commons-logging:commons-logging@1.0.4"}]},{"nodeId":"wsdl4j:wsdl4j@1.5.1","pkgId":"wsdl4j:wsdl4j@1.5.1","deps":[]},{"nodeId":"axis:axis@1.3","pkgId":"axis:axis@1.3","deps":[{"nodeId":"axis:axis-jaxrpc@1.3"},{"nodeId":"axis:axis-saaj@1.3"},{"nodeId":"commons-discovery:commons-discovery@0.2"},{"nodeId":"commons-logging:commons-logging@1.0.4"},{"nodeId":"wsdl4j:wsdl4j@1.5.1"}]},{"nodeId":"batik:batik-dom@1.6","pkgId":"batik:batik-dom@1.6","deps":[]},{"nodeId":"com.android.tools.analytics-library:protos@25.3.0|1","pkgId":"com.android.tools.analytics-library:protos@25.3.0","deps":[],"info":{"labels":{"pruned":"true"}}},{"nodeId":"com.android.tools.analytics-library:protos@25.3.0|2","pkgId":"com.android.tools.analytics-library:protos@25.3.0","deps":[{"nodeId":"com.google.protobuf:protobuf-java@3.0.0"}]},{"nodeId":"com.android.tools.analytics-library:shared@25.3.0|1","pkgId":"com.android.tools.analytics-library:shared@25.3.0","deps":[],"info":{"labels":{"pruned":"true"}}},{"nodeId":"com.android.tools.analytics-library:shared@25.3.0|2","pkgId":"com.android.tools.analytics-library:shared@25.3.0","deps":[{"nodeId":"com.android.tools.analytics-library:protos@25.3.0|2"},{"nodeId":"com.android.tools:annotations@25.2.0"},{"nodeId":"com.android.tools:common@25.3.0|1"},{"nodeId":"com.google.code.gson:gson@2.2.4"},{"nodeId":"com.google.guava:guava@18.0"}]},{"nodeId":"com.google.protobuf:protobuf-java@3.0.0","pkgId":"com.google.protobuf:protobuf-java@3.0.0","deps":[]},{"nodeId":"com.android.tools:annotations@25.2.0","pkgId":"com.android.tools:annotations@25.2.0","deps":[]},{"nodeId":"com.android.tools:common@25.3.0|1","pkgId":"com.android.tools:common@25.3.0","deps":[],"info":{"labels":{"pruned":"true"}}},{"nodeId":"com.android.tools:common@25.3.0|2","pkgId":"com.android.tools:common@25.3.0","deps":[{"nodeId":"com.android.tools:annotations@25.2.0"},{"nodeId":"com.google.guava:guava@18.0"}]},{"nodeId":"com.google.code.gson:gson@2.2.4","pkgId":"com.google.code.gson:gson@2.2.4","deps":[]},{"nodeId":"com.google.guava:guava@18.0","pkgId":"com.google.guava:guava@18.0","deps":[]},{"nodeId":"com.android.tools.analytics-library:tracker@25.3.0","pkgId":"com.android.tools.analytics-library:tracker@25.3.0","deps":[{"nodeId":"com.android.tools.analytics-library:protos@25.3.0|1"},{"nodeId":"com.android.tools.analytics-library:shared@25.3.0|2"},{"nodeId":"com.android.tools:annotations@25.2.0"},{"nodeId":"com.android.tools:common@25.3.0|1"},{"nodeId":"com.google.guava:guava@18.0"},{"nodeId":"com.google.protobuf:protobuf-java@3.0.0"}]},{"nodeId":"com.android.tools.build:builder-model@2.3.0|1","pkgId":"com.android.tools.build:builder-model@2.3.0","deps":[],"info":{"labels":{"pruned":"true"}}},{"nodeId":"com.android.tools.build:builder-model@2.3.0|2","pkgId":"com.android.tools.build:builder-model@2.3.0","deps":[{"nodeId":"com.android.tools:annotations@25.2.0"}]},{"nodeId":"com.android.tools.build:builder-test-api@2.3.0|1","pkgId":"com.android.tools.build:builder-test-api@2.3.0","deps":[],"info":{"labels":{"pruned":"true"}}},{"nodeId":"com.android.tools.build:builder-test-api@2.3.0|2","pkgId":"com.android.tools.build:builder-test-api@2.3.0","deps":[{"nodeId":"com.android.tools.ddms:ddmlib@25.3.0|1"}]},{"nodeId":"net.sf.kxml:kxml2@2.3.0","pkgId":"net.sf.kxml:kxml2@2.3.0","deps":[]},{"nodeId":"com.android.tools.ddms:ddmlib@25.3.0|1","pkgId":"com.android.tools.ddms:ddmlib@25.3.0","deps":[{"nodeId":"com.android.tools:common@25.3.0|2"},{"nodeId":"net.sf.kxml:kxml2@2.3.0"}]},{"nodeId":"com.android.tools.ddms:ddmlib@25.3.0|2","pkgId":"com.android.tools.ddms:ddmlib@25.3.0","deps":[],"info":{"labels":{"pruned":"true"}}},{"nodeId":"com.intellij:annotations@12.0","pkgId":"com.intellij:annotations@12.0","deps":[]},{"nodeId":"com.android.tools.layoutlib:layoutlib-api@25.3.0","pkgId":"com.android.tools.layoutlib:layoutlib-api@25.3.0","deps":[{"nodeId":"com.android.tools:annotations@25.2.0"},{"nodeId":"com.android.tools:common@25.3.0|1"},{"nodeId":"com.intellij:annotations@12.0"},{"nodeId":"net.sf.kxml:kxml2@2.3.0"}]},{"nodeId":"com.android.tools:dvlib@25.3.0","pkgId":"com.android.tools:dvlib@25.3.0","deps":[{"nodeId":"com.android.tools:common@25.3.0|1"}]},{"nodeId":"com.google.jimfs:jimfs@1.1","pkgId":"com.google.jimfs:jimfs@1.1","deps":[{"nodeId":"com.google.guava:guava@18.0"}]},{"nodeId":"org.apache.commons:commons-compress@1.8.1","pkgId":"org.apache.commons:commons-compress@1.8.1","deps":[]},{"nodeId":"com.android.tools:repository@25.3.0","pkgId":"com.android.tools:repository@25.3.0","deps":[{"nodeId":"com.android.tools:common@25.3.0|1"},{"nodeId":"com.google.jimfs:jimfs@1.1"},{"nodeId":"org.apache.commons:commons-compress@1.8.1"}]},{"nodeId":"commons-codec:commons-codec@1.4","pkgId":"commons-codec:commons-codec@1.4","deps":[]},{"nodeId":"commons-logging:commons-logging@1.1.1","pkgId":"commons-logging:commons-logging@1.1.1","deps":[]},{"nodeId":"org.apache.httpcomponents:httpcore@4.1","pkgId":"org.apache.httpcomponents:httpcore@4.1","deps":[]},{"nodeId":"org.apache.httpcomponents:httpclient@4.1.1","pkgId":"org.apache.httpcomponents:httpclient@4.1.1","deps":[{"nodeId":"commons-codec:commons-codec@1.4"},{"nodeId":"commons-logging:commons-logging@1.1.1"},{"nodeId":"org.apache.httpcomponents:httpcore@4.1"}]},{"nodeId":"org.apache.httpcomponents:httpmime@4.1","pkgId":"org.apache.httpcomponents:httpmime@4.1","deps":[{"nodeId":"commons-logging:commons-logging@1.1.1"},{"nodeId":"org.apache.httpcomponents:httpcore@4.1"}]},{"nodeId":"com.android.tools:sdklib@25.3.0|1","pkgId":"com.android.tools:sdklib@25.3.0","deps":[{"nodeId":"com.android.tools.layoutlib:layoutlib-api@25.3.0"},{"nodeId":"com.android.tools:dvlib@25.3.0"},{"nodeId":"com.android.tools:repository@25.3.0"},{"nodeId":"com.google.code.gson:gson@2.2.4"},{"nodeId":"org.apache.commons:commons-compress@1.8.1"},{"nodeId":"org.apache.httpcomponents:httpclient@4.1.1"},{"nodeId":"org.apache.httpcomponents:httpmime@4.1"}]},{"nodeId":"com.android.tools:sdklib@25.3.0|2","pkgId":"com.android.tools:sdklib@25.3.0","deps":[],"info":{"labels":{"pruned":"true"}}},{"nodeId":"org.bouncycastle:bcprov-jdk15on@1.48","pkgId":"org.bouncycastle:bcprov-jdk15on@1.48","deps":[]},{"nodeId":"org.bouncycastle:bcpkix-jdk15on@1.48|1","pkgId":"org.bouncycastle:bcpkix-jdk15on@1.48","deps":[{"nodeId":"org.bouncycastle:bcprov-jdk15on@1.48"}]},{"nodeId":"org.bouncycastle:bcpkix-jdk15on@1.48|2","pkgId":"org.bouncycastle:bcpkix-jdk15on@1.48","deps":[],"info":{"labels":{"pruned":"true"}}},{"nodeId":"com.android.tools:sdk-common@25.3.0|1","pkgId":"com.android.tools:sdk-common@25.3.0","deps":[{"nodeId":"com.android.tools.build:builder-model@2.3.0|2"},{"nodeId":"com.android.tools.build:builder-test-api@2.3.0|2"},{"nodeId":"com.android.tools:sdklib@25.3.0|1"},{"nodeId":"org.bouncycastle:bcpkix-jdk15on@1.48|1"},{"nodeId":"org.bouncycastle:bcprov-jdk15on@1.48"}]},{"nodeId":"com.android.tools:sdk-common@25.3.0|2","pkgId":"com.android.tools:sdk-common@25.3.0","deps":[],"info":{"labels":{"pruned":"true"}}},{"nodeId":"com.android.tools.build:manifest-merger@25.3.0","pkgId":"com.android.tools.build:manifest-merger@25.3.0","deps":[{"nodeId":"com.android.tools:common@25.3.0|1"},{"nodeId":"com.android.tools:sdk-common@25.3.0|1"},{"nodeId":"com.android.tools:sdklib@25.3.0|2"},{"nodeId":"com.google.code.gson:gson@2.2.4"},{"nodeId":"net.sf.kxml:kxml2@2.3.0"}]},{"nodeId":"com.android.tools.jack:jack-api@0.13.0","pkgId":"com.android.tools.jack:jack-api@0.13.0","deps":[]},{"nodeId":"com.android.tools.jill:jill-api@0.10.0","pkgId":"com.android.tools.jill:jill-api@0.10.0","deps":[]},{"nodeId":"com.squareup:javawriter@2.5.0","pkgId":"com.squareup:javawriter@2.5.0","deps":[]},{"nodeId":"org.ow2.asm:asm@5.0.4","pkgId":"org.ow2.asm:asm@5.0.4","deps":[]},{"nodeId":"org.ow2.asm:asm-tree@5.0.4","pkgId":"org.ow2.asm:asm-tree@5.0.4","deps":[{"nodeId":"org.ow2.asm:asm@5.0.4"}]},{"nodeId":"com.android.tools.build:builder@2.3.0","pkgId":"com.android.tools.build:builder@2.3.0","deps":[{"nodeId":"com.android.tools.analytics-library:protos@25.3.0|1"},{"nodeId":"com.android.tools.analytics-library:shared@25.3.0|1"},{"nodeId":"com.android.tools.analytics-library:tracker@25.3.0"},{"nodeId":"com.android.tools.build:builder-model@2.3.0|1"},{"nodeId":"com.android.tools.build:builder-test-api@2.3.0|1"},{"nodeId":"com.android.tools.build:manifest-merger@25.3.0"},{"nodeId":"com.android.tools.ddms:ddmlib@25.3.0|2"},{"nodeId":"com.android.tools.jack:jack-api@0.13.0"},{"nodeId":"com.android.tools.jill:jill-api@0.10.0"},{"nodeId":"com.android.tools:common@25.3.0|1"},{"nodeId":"com.android.tools:sdk-common@25.3.0|2"},{"nodeId":"com.android.tools:sdklib@25.3.0|2"},{"nodeId":"com.squareup:javawriter@2.5.0"},{"nodeId":"org.bouncycastle:bcpkix-jdk15on@1.48|2"},{"nodeId":"org.bouncycastle:bcprov-jdk15on@1.48"},{"nodeId":"org.ow2.asm:asm@5.0.4"},{"nodeId":"org.ow2.asm:asm-tree@5.0.4"}]}]}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This DepGraph has enhanced data as outcome of snyk-gradle-plugin changes
See snyk/snyk-gradle-plugin#172
Deleted findCycles and breakCycles logic from snyk-gradle-plugin
Multi-config fixture plugin.test.ts has top level deps amount number
aligned and with correct count, we were appending transitive deps as
top to avoid loosing them due of lack of cycle/break support in
dep-graph lib.
Dependency org.jetbrains.kotlin:kotlin-stdlib is no longer available as
direct dep in kotlin.test.ts (it was wrong) as it's a transitive dependency see screenshot below.
It was being
appended
as top due of the lack of cycle/break support in dep-graph libAdded @snyk/dep-graph changes
v1.27.1 remove cache in pathsToRoot
v1.27 break cyclic graphs when converting into tree
v1.26 support cycles in pkgPathsToRoot and countPathsToRoot