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

Release 1.0 #60

Closed
melrief opened this issue Jan 5, 2014 · 49 comments
Closed

Release 1.0 #60

melrief opened this issue Jan 5, 2014 · 49 comments
Assignees

Comments

@melrief
Copy link
Collaborator

melrief commented Jan 5, 2014

If we are ready I'm going to push the release-1.0 version to hackage right now. The package submitted is created by cabal sdist.

After this we can annunce it on reddit, then merge release-1.0 into master as if it is a feature and then close this issue. What do you think?

@ghost ghost assigned melrief Jan 5, 2014
@melrief
Copy link
Collaborator Author

melrief commented Jan 5, 2014

Before that I need to change the version from 0.9 to 1.0. I wait your ACK before doing this in the release-1.0 branch.

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

ACK!

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

Commit 6113914 changes the cabal file, now hawk is tagged version 1.0 (btw we should add an option to see the hawk version, like -v/--vesion). Tomorrow I will update it to hackage.

Before it can I merge develop (specifically the commit 35945b2) into release-1.0 so that we can fix the testing problem? It's just one line different and avoid the all time error with tests.

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

sure!

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

actually, I think adding --version is important enough to do it for 1.0

edit: done.

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

Since we're about to upload to hackage, I guess the following is meant specifically for us:

http://fuuzetsu.co.uk/blog/posts/2014-01-06-Fix-your-Hackage-documentation.html

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

Ok, I will try now if the doc builds correctly with cabal haddock.

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

Found some problems on the documentation, I'm fixing them.

Edit: the output is

Haddock coverage:
   0% (  0 /  3) in 'System.Console.Hawk.IO'
  67% (  2 /  3) in 'System.Console.Hawk.Representable'
   0% (  0 / 11) in 'System.Console.Hawk.Runtime'
Warning: System.Console.Hawk.IO: could not find link destinations for:
    Data.Maybe.Maybe GHC.IO.FilePath GHC.Types.IO Data.ByteString.Lazy.Internal.ByteString
Warning: System.Console.Hawk.Representable: could not find link destinations for:
    GHC.Show.Show Data.ByteString.Lazy.Internal.ByteString GHC.Types.Bool GHC.Types.Char GHC.Types.Double GHC.Types.Float GHC.Types.Int GHC.Integer.Type.Integer System.Console.Hawk.Representable.ListAsRow Data.Maybe.Maybe Data.Set.Base.Set Data.Map.Base.Map System.Console.Hawk.Representable.ListAsRows
Warning: System.Console.Hawk.Runtime: could not find link destinations for:
    GHC.Base.String Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Internal.ByteString GHC.Types.Bool GHC.Types.IO Data.Maybe.Maybe GHC.IO.FilePath

We should document our library (IO,Runtime and Representable) before submitting the package. I'm doing Representable and maybe this evening I take care of Runtime.

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

By the way I don't know how to fix the could not find link destinations errors.

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

I think it's because we don't have a local copy of the source for those
packages. Maybe it won't happen on hackage?
On 6 Jan 2014 09:05, "Mario Pastorelli" notifications@github.com wrote:

By the way I don't know how to fix the could not find link destinationserrors.


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-31650244
.

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

When I finish commenting Representable I test the package on hackage and report the result here before confirming.

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

Hawk has passed hackage tests and it is available as candidate here. When you give me the ok I publish it and it will become available in the main hackage repository (and cabal).

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

There is no documentation for the modules we expose?

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

There is documentation...I don't know why hackage is not getting it. But if I do cabal haddock I have the documentation at least for Representable (the only real module that we export, the others are for runtime and IO). Uhmm I try to solve this and reload the package.

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

Maybe the problem is that the "Publish Candidate" feature is not yet fully implemented.

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

Indeed, I see they do have an issue with candidates and documentation...
But the issue description implies that the candidate is supposed to have
documentation already! I think the issue is on our end. Which version of
haddock are you using?

haskell/hackage-server#70
On 6 Jan 2014 16:42, "Mario Pastorelli" notifications@github.com wrote:

Maybe the problem is that the "Publish Candidate" feature is not yet fully
implemented.


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-31690265
.

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

My Haddock version is 2.13.2.1, installed using cabal

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

Maybe try standalone-haddock? I have no idea what that is, I am just parroting what I read on reddit's fix_your_hackage_documentation thread.

That comment says we need to manually upload our documentation? I thought hackage would compile it for us on the server side. Maybe not!

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

I'm asking on the IRC channel :-). I hate manual operations.

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

So we will have to upload our documentation manually after all?

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

I'm trying the given script. This is stupid.

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

Yeah, it is suboptimal, but I guess it will have to do for now. If doing it manually makes you upset, I could try doing it myself if you want.

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

And the stupidest part is that github has automatically added and entry to the hackage-server issue pointing to this because I referenced the issue. And it is permanent.

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

I'm running the script right now. It is compiling Hawk in a separate directory, so it will take a while. But the script already found the candidate version of hawk on hackage, so I think it is working.

By the way do you have an account on hackage? I would like to add you to the mantainers of the package so we can work together on it.

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

I'll create one.

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

There you go: http://hackage.haskell.org/user/gelisam

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

Done, let me know if it works

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

In the meanwhile, the script that I linked seems unable to build hawk with an error on hint...

@gelisam
Copy link
Owner

gelisam commented Jan 6, 2014

@melrief
Copy link
Collaborator Author

melrief commented Jan 6, 2014

Done. I loaded the doc manually using the link that you provided before.

@gelisam
Copy link
Owner

gelisam commented Jan 7, 2014

Hmm, maybe we could add a module-level comment to System.Console.Hawk.IO and System.Console.Hawk.Runtime explaining that those modules are required by Hawk at runtime, but aren't met for public consumption and may change at any time?

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

Yes
On 7 Jan 2014 01:11, "Samuel Gélineau" notifications@github.com wrote:

Hmm, maybe we could add a module-level comment to System.Console.Hawk.IOand System.Console.Hawk.Runtime explaining that those modules are required
by Hawk at runtime, but aren't met for public consumption and may change at
any time?


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-31701559
.

@gelisam
Copy link
Owner

gelisam commented Jan 7, 2014

I pushed such a message to release-1.0.

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

Hold on, Representable is not exporting ListAsRow and ListAsRows...I will fix this in the afternoon but must be fixed before releasing the 1.0 because they are very important part of the API.

@gelisam
Copy link
Owner

gelisam commented Jan 7, 2014

Yet it was working even thought we were not exporting them? Is this supposed to be a public, supported API or just something used by Hawk's runtime which can change at any time? Because that's what I wrote at the top, for all three packages.

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

Ok fixed, now Representable exports correctly the API. I also pushed into release-1.0 the changes that I have done.

The four classes ListAsRow, Row, ListAsRows and Rows can be used to add datatypes to Hawk that can be formatted in a command-line way. For example:

> echo 'data Person = Person { name :: String, age :: Integer } deriving (Show)' >> ~/.hawk/prelude.hs
> echo 'instance Rows Person where repr d (Person n a) = repr d $ "name:" ++ n ++ "|age:" ++ show a' >> ~/.hawk/prelude.hs
> hawk 'Person "Mario Pastorelli" 27'
name:Mario Pastorelli|age:27

I will add a tutorial on how to add new datatypes such that Hawk can show them in the command line in a proper format (different from show). The idea is always the same: Hawk is very extendible :-).

But that's not very useful for now, let's talk about this version 1.0. I'm ready to publish it.

@gelisam
Copy link
Owner

gelisam commented Jan 7, 2014

Ah! In that case, they are a public API which we should keep stable in order not to break user's preludes. Fine for me.

I think the package is ready to be uploaded to hackage, but before announcing it to reddit we should make one final modification to the README: we should say that they can install via cabal now :)

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

And adding you as maintainer into haskell-awk.cabal. I'm doing this, if you want to fix README.md by adding how to install (the stable) from cabal go on.

@gelisam
Copy link
Owner

gelisam commented Jan 7, 2014

done. I have also re-added the description to the Representable package, this time explaining that users can use it in their prelude instead of saying that the API can change at any time.

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

Pulled, I'm uploading the package and the documentation....I let you know when it is ready.

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

Uploaded (I fixed a typo in Representable description).

@gelisam
Copy link
Owner

gelisam commented Jan 7, 2014

Looking good, let's publish this!

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

Done! Now I don't have time to merge release-1.0 into master, tag 1.0 master and remove release-1.0. If you want to do it then feel free else I will do it when I have time (this evening probably, late).

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

There is a problem with the package. I purged all the hawk versions from my cabal lib and when I do cabal install haskell-awk I get:

> cabal install haskell-awk
Resolving dependencies...
Downloading haskell-awk-1.0...
Configuring haskell-awk-1.0...
Building haskell-awk-1.0...
Preprocessing library haskell-awk-1.0...
[1 of 3] Compiling System.Console.Hawk.IO ( src/System/Console/Hawk/IO.hs, dist/build/System/Console/Hawk/IO.o )
[2 of 3] Compiling System.Console.Hawk.Representable ( src/System/Console/Hawk/Representable.hs, dist/build/System/Console/Hawk/Representable.o )
[3 of 3] Compiling System.Console.Hawk.Runtime ( src/System/Console/Hawk/Runtime.hs, dist/build/System/Console/Hawk/Runtime.o )
[1 of 3] Compiling System.Console.Hawk.IO ( src/System/Console/Hawk/IO.hs, dist/build/System/Console/Hawk/IO.p_o )
[2 of 3] Compiling System.Console.Hawk.Representable ( src/System/Console/Hawk/Representable.hs, dist/build/System/Console/Hawk/Representable.p_o )
[3 of 3] Compiling System.Console.Hawk.Runtime ( src/System/Console/Hawk/Runtime.hs, dist/build/System/Console/Hawk/Runtime.p_o )
In-place registering haskell-awk-1.0...
Preprocessing executable 'hawk' for haskell-awk-1.0...

src/System/Console/Hawk/Config.hs:37:8:
    Could not find module `System.Console.Hawk.Config.Parse'
    Use -v to see a list of the files searched for.
Failed to install haskell-awk-1.0
cabal: Error: some packages failed to install:
haskell-awk-1.0 failed during the building phase. The exception was:
ExitFailure 1

many libs are missing, in fact Extra-Source-File of haskell-awk.cabal has not been updated with the subdirectories of src/System/Console/Hawk. I'm fixing it right now.

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

I have fixed the cabal file...but now we need to upload the correct version. I tag it 1.0.1, ok?

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

For now I set deprecated the 1.0...still I don't understand why hackage didn't report that the package was broken. What the hell?

@gelisam
Copy link
Owner

gelisam commented Jan 7, 2014

Very strange!
On 7 Jan 2014 09:58, "Mario Pastorelli" notifications@github.com wrote:

For now I set deprecated the 1.0...still I don't understand why hackage
didn't report that the package was broken. What the hell?


Reply to this email directly or view it on GitHubhttps://github.com//issues/60#issuecomment-31743729
.

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

Done, the package can be found here. I don't know what's going on hackage but when I published hsprocess hackage alerted me about all the possible problems. Now it even accept packages that don't compile, wow.

@melrief
Copy link
Collaborator Author

melrief commented Jan 7, 2014

Ok I have merged release-1.0 into master and develop, tagged 1.0.1 the current version on master and deleted release-1.0. Closing this.

@melrief melrief closed this as completed Jan 7, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants