-
-
Notifications
You must be signed in to change notification settings - Fork 45
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
Improvement for Travis CI #95
Improvement for Travis CI #95
Conversation
Hey, @m-a-ge — I had the same thought a bit ago, but was swayed away from it by the discussion over in Pull #31 . I will say that I like you made the build itself separate from the individual exercises in the track— very much nicer than what I was considering. If we did keep the The focus on improving the Travis build here makes me very happy. If we do go this way, I'd love to add CodeNarc to our examples; to make our examples, well... exemplary. 😄 |
@Dispader thanks for the comment. Not sure how to keep |
Looks like I have an idea how to do that. |
I've implemented a script that sets up subproject builds for each exercise and updates main build accordingly. After that the main build is kicked off. I'll investigate this failures later @Dispader I hope you like my new approach 💻 |
f82d01f
to
b80fcbf
Compare
Ok, I fixed test Spec for |
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.
Left comments for myself to not forget
exercises/grains/GrainsSpec.groovy
Outdated
@@ -1,4 +1,3 @@ | |||
@Grab('org.spockframework:spock-core:1.0-groovy-2.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.
Should revert this one
@@ -1,4 +1,3 @@ | |||
@Grab('org.spockframework:spock-core:1.0-groovy-2.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.
Will revert this one
build.gradle
Outdated
@@ -0,0 +1,57 @@ | |||
/* |
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.
Should remove this default comments
@Dispader @m-a-ge I'm trying to catch up on a couple of weeks worth of notifications. I'll leave the decision about build tool to the two of you. I've got some documentation about the goals of exercises here: https://github.com/exercism/docs/tree/master/language-tracks/exercises I'm not sure if that answers your questions. I'd love to figure out what's missing so we can update that doc. There are some really tricky trade-offs that I think we need to balance when choosing the technologies that an Exercism exercise requires/depends on.
It's not always possible to have all of those things. We also want to avoid duplication where possible, but that's not a very strong requirement and we'll be adding some tooling to v2 to make it possible to have some global files for a track that get delivered to the user once, and that all the exercises can depend on. |
@kytrinyx thanks for the explanation. My first proposed solution complicated things (breaking the notion of "It should be easy to get started;"). Thanks for the link btw, it refreshed my memory. I'll wait for @Dispader to take a look |
@m-a-ge And, after nearly a month of getting swamped out by chaos and some health issues, I do plan to be back. Sorry for disappearing, there! Hope to have a look soon, but wanted you to know I hadn't forgotten about y'all. |
@Dispader it's good to have back 👍 |
Jumping in just to give an opinion on this :) In my opinion, the decision to include gradle building or not in the exercises relates to the distinction between fluency and proficiency described in the "goal of exercism" doc. In this case, being able to use gradle (or any other build tool) would be part of level 3 of proficiency, "Real-world programs - you can use the programming language to solve day-to-day problems using the tools and libraries in the broader ecosystem of the language.", which seems to be out of exercism's scope, but Java exercises are built with gradle, so we may want to use it as well for consistency. That said, I was wondering: would it be possible/make sense to have the first, introductory, exercises be built without gradle (i.e., as they are now on master) and to introduce gradle builds from a certain step on? |
@Raibaz I want to clarify a bit my approach to the problem. The current version doesn't temper with the files delivered to the user in any way. The Gradle subproject build is set up automatically by the script I've written https://github.com/exercism/groovy/pull/95/files#diff-0723ec0078ef82bfba7a671561ca8704 and it's used to run tests and make sure everything is Ok in a PR. User isn't forced to use Gradle, they are to continue using existing approach with So, answering your question, there is no need to introduce What do you think now? |
Oh ok, that makes a lot more sense to me then. Sorry for mistaking your intent here, I totally agree with you this would be helpful :) |
@Raibaz on this positive note I've merged this PR. |
I just have a minor concern about the I think it may make sense to rename the whole exercise :) |
Yeah, probably. Would you mind creating an issue for this for further discussion? |
Hey, @m-a-ge , I think it was @Raibaz that suggested the rename— and I agree that we should open another issue for it. (I'd lean towards it being renamed, but that might be a broader issue for general exercises.) How are folks feeling about this Pull?— I'm thinking that it's an improvement. |
I already created both the issue and the PR for the rename, and i think it's also already been merged :) |
@Dispader I think it's a good thing to rename that exercise since there is an inconsistency in its description and its name (even in |
Resolves #89
I propose using Gradle as a build tool for the track. It might increase difficulty for the learner a bit, but it's more flexible solution in the long run. Plus in real world everyone uses it, so it might be worth getting used to it for learners as well
What do you think?
@kytrinyx, are you Ok with this?
I'm sorry to bother you with this, but looks like I've lost the context of what desire project structure is now.
Should we use
.meta
directory and generate docs only usingconfiglet
? Where to store reference solution?Could you please point me to the docs to refresh my memory? 🚑
TODO: