-
Notifications
You must be signed in to change notification settings - Fork 303
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
Development
: Allow all filenames in programming exercise templates
#8684
Development
: Allow all filenames in programming exercise templates
#8684
Conversation
.gitattributes and .gitignore are ignored usually ignored by gradle, but we need them to be included for programming exercise templates.
This only applies to methods returning multiple Resources using a pattern. All use-cases expect non-directories only.
WalkthroughThe recent updates primarily involve renaming methods and constants in Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
Administrators who made use of the filename translations in template overrides could experience issues. However, this translation behavior was never mentioned in the documentation. How should we handle this? |
It is only possible since release 7.0.1 (#8380) to override such files. Before that only files in Since this feature does not exist for long, I don’t assume this feature to be widely used (if at all). I think breaking this without backwards compatibility is therefore fine. |
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.
That’s a nice improvement. Thanks for implementing this.
Code looks good. 👍
src/main/java/de/tum/in/www1/artemis/service/ResourceLoaderService.java
Outdated
Show resolved
Hide resolved
@edkaya Test Server 5 uses GitlabCI which is only supported by these 2 templates. The Java template has the git files but no extension-less files you could check 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.
Tested on TS4. Works as expected. Code looks good 👍🏻. Can verify that the cloned repository includes Makefile
, .gitignore
and .gitattributes
files
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.
Tested in testing session on ts4. LGTM
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.
Tested during testing session 👍
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.
tested during testing session, the repositories include files starting with .
and Makefile
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.
Tested during testing session in ts4.
Checklist
General
Server
Changes affecting Programming Exercises
Motivation and Context
Programming exercise templates cannot include files without file extensions (
Makefile
) and.gitignore
/.gitattributes
without the use of a workaround. Directories with dots in their name (.config/
) are not possible at all. The workaround requires the template author to use an alternative name which is replaced with the required name from a set of predefined translations (Makefile.file
=>Makefile
).This makes the authoring of programming exercise templates error-prone and more difficult than necessary.
Description
.gitignore
and.gitattributes
are removed from gradle's default excludes.The
ResourceLoaderService
is modified to remove directories from the results. This is what all use-cases expect.The ant pattern meaning to represent all files is adjusted to not include a dot.
Steps for Testing
These instructions use a
C
programming language template which does not support GitlabCI.Deploy to a test server which uses the Integrated Code Lifecycle if you follow them.
Prerequisites:
C
for the programming languageGCC
for the project type.gitignore
,.gitattributes
andMakefile
filesTestserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Review Progress
Performance Review
Code Review
Manual Tests
Test Coverage
Server