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

[proposal] Remove dependency on Argus #158

Closed
oshikiri opened this issue Oct 1, 2018 · 8 comments
Closed

[proposal] Remove dependency on Argus #158

oshikiri opened this issue Oct 1, 2018 · 8 comments

Comments

@oshikiri
Copy link
Collaborator

oshikiri commented Oct 1, 2018

vega-lite recently released v2.6.0 and v3.0.0-rc6. However, Vegas currently depends on vega-lite v1.2.0 because the Argus's anyOf issue (#83) blocks upgrading vega-lite to v1.2.1 (and the issue seems to be hard to resolve: aishfenton/Argus#13).

If we remove dependency on Argus and then maintain Spec.scala manually, can we avoid the above issue and upgrade vega-lite to newer than v1.2.1?

I will try this if it is ok.

@dankolesnikov
Copy link

@oshikiri This will potentially help in #156
Is Spec.scala the only file that depends on Argus package? Are there other classes that use argus?

@oshikiri
Copy link
Collaborator Author

oshikiri commented Oct 2, 2018

@dankolesnikov Thanks 😄

Is Spec.scala the only file that depends on Argus package?

core/src/test/scala/vegas/JsonMatchers.scala also uses Argus but it seems not to be critical.
https://github.com/vegas-viz/Vegas/search?q=argus&unscoped_q=argus

@dankolesnikov
Copy link

dankolesnikov commented Oct 6, 2018

@oshikiri
Spec.scala seems to be a very large file to maintain. It seems logical to break it down into multiple classes for easier maintenance.

Is argus library semi-abandoned?

@oshikiri
Copy link
Collaborator Author

oshikiri commented Oct 8, 2018

@dankolesnikov
I'm not sure if I can (and should) remove Argus. (generating Spec.scala by Argus is better if we can resolve the anyOf issue)

I am trying to remove Argus and upgrade vega-lite at a sandbox branch, but now some tests are failing in my local environment.
oshikiri/Vegas@workspace-mkvegamodel...oshikiri:remove-argus

And, in the sandbox branch, there is still a dependency to argus at JsonMatchers.scala. Do you have any ideas for this? (ex. replacing argus.json.JsonDiff with something else, like for example scalatest-json)

@aishfenton
Copy link
Member

aishfenton commented Oct 11, 2018

I'm going to have a go at resolving the issue in Argus. Plan is to move Argus to Scalameta, and generally just make it more complete.

@oshikiri
Copy link
Collaborator Author

oshikiri commented Oct 20, 2018

I came to think that automatically generation of Spec.scala is required because vega-lite-schema.json grows very fast; 2260 lines (v1.2.0) → 8932 lines (v2.6.0) → 10123 lines (v3.0.0-rc6).

@aishfenton Could you please provide more details of the plan? (Will it resolve aishfenton/Argus#13?)

@aishfenton
Copy link
Member

aishfenton commented Oct 20, 2018 via email

@oshikiri
Copy link
Collaborator Author

@aishfenton Thanks. I think your plan is better.

P.S. Could you please check #138 (comment)?

@oshikiri oshikiri closed this as completed Nov 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants