-
Notifications
You must be signed in to change notification settings - Fork 483
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
SCP-1066 reorganizing plc-agda
#2254
Conversation
To be clear, I'm anticipating that you can put the big list of modules only in the library, and then have the executable just depend on the library. |
I tried that but concluded that it doesn't help. The executable has to repeat all the modules that it uses, which in this case is all of them. |
I don't think so... Have a look at the stanza for the |
I tried this out with a small 'hello world' example in Agda. Also, I think there may be another problem, I just tried adding a library to plc-agda.cabal and it doesn't appear to be allowed:
|
So, there's a difference between having an "internal library" and a library component at all. In particular, the "main" library component is fine (just |
Ah, thanks! |
I think I have found where I was going wrong, the sources files for the lib and exe need to be in different folders otherwise cabal complains that the exe should repeat all the modules in |
Ah yes, the weird implicit module discovery that GHC does. Better to just put things in separate source folders indeed. |
I moved tests into test/ and the executable shim into exe/
I think I might need a bit of help/suggestions to update |
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.
Did you want to rename the package too? My suggestion would be plutus-metatheory
, since we're using the plutus-
prefix for most of our packages.
Not sure why that's not working... |
Now it's just failing on the Haddock... tbh I'm not sure how that ever worked. I think I should maybe make the generation run as a |
Ah, there was no library so there was no Haddock! |
plc-agda
SCP-1066plc-agda
I can do that. Do you still think it might work? |
I'm just checking it out now. |
Okay, it's a bit awkward to do this because you're moving things, but just steal this commit: 155bee8 |
Thanks @michaelpj that now passes CI. However, github seems to think that CI is still failing. |
Yep, it's just confused. Let's go ahead and merge it! |
Oh, it's caught up. Maybe turning it off from being a draft helped? |
thanks! |
The list appears in a common stanza. It is listed twice as everthing inautogen-modules
has to appear again inother-modules
.Created a library in the cabal file and a common stanza for the usual stuff you put in a common stanza.
Split into a library and executable (not 100% sure this will work)
Sort out naming of components
Potentially refactor existingplc-agda
tests to callplutus-core
functions directly rather than calling out toplc
.Arguing with CI expected.