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

paket.lock beautification for HTTP specs #553

Closed
sergey-tihon opened this issue Jan 15, 2015 · 7 comments
Closed

paket.lock beautification for HTTP specs #553

sergey-tihon opened this issue Jan 15, 2015 · 7 comments

Comments

@sergey-tihon
Copy link
Member

When my paket.references looks like this:

http http://www.frijters.net/ikvmbin-8.0.5449.0.zip
http http://nlp.stanford.edu/software/stanford-corenlp-full-2014-10-31.zip
http http://nlp.stanford.edu/software/stanford-ner-2014-10-26.zip
http http://nlp.stanford.edu/software/stanford-parser-full-2014-10-31.zip
http http://nlp.stanford.edu/software/stanford-postagger-full-2014-10-26.zip
http http://nlp.stanford.edu/software/stanford-segmenter-2014-10-26.zip

I get following paket.lock file:

HTTP
  remote: http://www.frijters.net/ikvmbin-8.0.5449.0.zip
  specs:
    ikvmbin-8.0.5449.0.zip
  remote: http://nlp.stanford.edu/software/stanford-corenlp-full-2014-10-31.zip
  specs:
    stanford-corenlp-full-2014-10-31.zip
  remote: http://nlp.stanford.edu/software/stanford-ner-2014-10-26.zip
  specs:
    stanford-ner-2014-10-26.zip
  remote: http://nlp.stanford.edu/software/stanford-parser-full-2014-10-31.zip
  specs:
    stanford-parser-full-2014-10-31.zip
  remote: http://nlp.stanford.edu/software/stanford-postagger-full-2014-10-26.zip
  specs:
    stanford-postagger-full-2014-10-26.zip
  remote: http://nlp.stanford.edu/software/stanford-segmenter-2014-10-26.zip
  specs:
    stanford-segmenter-2014-10-26.zip

but IMHO would be nice to have something like this:

HTTP
  remote: http://www.frijters.net/
  specs:
    ikvmbin-8.0.5449.0.zip
  remote: http://nlp.stanford.edu/software/
  specs:
    stanford-corenlp-full-2014-10-31.zip
    stanford-ner-2014-10-26.zip
    stanford-parser-full-2014-10-31.zip
    stanford-postagger-full-2014-10-26.zip
    stanford-segmenter-2014-10-26.zip

@forki @agross Your thoughts?

@forki
Copy link
Member

forki commented Jan 15, 2015

yes that looks much nicer. Are you interested in implemented this?

@sergey-tihon
Copy link
Member Author

Yes, I could try to look at this when finish migration Stanford.NLP.NET to paket.

Latest thought: leave only host name in the remote.

HTTP
  remote: http://www.frijters.net
  specs:
    /ikvmbin-8.0.5449.0.zip
  remote: http://nlp.stanford.edu
  specs:
    /software/stanford-corenlp-full-2014-10-31.zip
    /software/stanford-ner-2014-10-26.zip
    /software/stanford-parser-full-2014-10-31.zip
    /software/stanford-postagger-full-2014-10-26.zip
    /software/stanford-segmenter-2014-10-26.zip

@sergey-tihon
Copy link
Member Author

I see the small problem here:
We allow to rename files from http sources in paket.dependencies file:

http http://www.fssnip.net/raw/1M test1.fs
http http://www.fssnip.net/raw/1M/1 src/test2.fs

now corresponding paket.lock file looks like this

HTTP
  remote: http://www.fssnip.net/raw/1M
  specs:
    test1.fs
  remote: http://www.fssnip.net/raw/1M/1
  specs:
    src/test2.fs

but it should be like this...

HTTP
  remote: http://www.fssnip.net
  specs:
    test1.fs (/raw/1M)
    src/test2.fs (/raw/1M/1)

but in this case we are losing backward compatibility 😞
We will not be able to parse existing paket.lock files that use renaming feature

@forki
Copy link
Member

forki commented Jan 23, 2015

Don't care too much about backwards camp here. Just make clear where you break it.

@sergey-tihon
Copy link
Member Author

Why we have this test?
https://github.com/fsprojects/Paket/blob/master/tests/Paket.Tests/Resolver/ConflictSourcesSpecs.fs#L41-L68
config2 looks like a valid dependency file, all target file names are distinct, so we are able to download all of them. What is the goal for fail in this case?

@mexx
Copy link
Member

mexx commented Jan 28, 2015

@sergey-tihon The root cause why the test was added was that when downloading source files there will be a file paket.version written which contains the hash of the commit downloaded. This file is written per referenced repository and not per file. I had problems with the restore process and restricted the functionality.

@ledbutter
Copy link

@sergey-tihon since your PR for this was merged into master, shouldn't this issue be closed?

@forki forki closed this as completed Jan 31, 2015
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

4 participants