diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 3b1c57b..0000000 --- a/.editorconfig +++ /dev/null @@ -1,18 +0,0 @@ -# https://editorconfig.org -# Taken from https://github.com/angular/angular - -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -# Trimming final whitespace can break certain types of -# Markdown formatting. -[*.md] -insert_final_newline = false -trim_trailing_whitespace = false diff --git a/.vscode/extensions.json b/.vscode/extensions.json index c361d71..4a563de 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -8,10 +8,6 @@ // https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack "vscjava.vscode-java-pack", - // EditorConfig for VS Code - // https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig - "EditorConfig.EditorConfig", - // Gradle language support // https://marketplace.visualstudio.com/items?itemName=naco-siren.gradle-language "naco-siren.gradle-language", @@ -22,7 +18,20 @@ // GitHub Markdown Preview // https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview - "bierner.github-markdown-preview" + "bierner.github-markdown-preview", + + // Support GitHub Markdown emoji syntax + // https://marketplace.visualstudio.com/items?itemName=bierner.markdown-emoji + "bierner.markdown-emoji", + + // Support footnotes in GitHub Markdown + // https://marketplace.visualstudio.com/items?itemName=bierner.markdown-footnotes + "bierner.markdown-footnotes", + + // Support Markdown linting, which also provides the default formatting for + // Markdown files. + // https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint + "davidanson.vscode-markdownlint" ], // List of extensions recommended by VS Code that should not be recommended for users of this workspace. "unwantedRecommendations": [] diff --git a/.vscode/settings.json b/.vscode/settings.json index 4923f19..bab0b8e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,14 +1,42 @@ { - "java.configuration.updateBuildConfiguration": "automatic", - "java.server.launchMode": "Standard", - "cSpell.words": [ - "gaurav", - "wizarding" - ], - "files.exclude": { - "**/.classpath": true, - "**/.project": true, - "**/.settings": true, - "**/.factorypath": true - } -} + "cSpell.words": [ + "automagically", + "bangbang", + "gaurav", + "gradlew", + "Phee", + "unstage", + "Unstaged", + "wizarding" + ], + "editor.formatOnSave": true, + "[java]": { + "editor.suggest.snippetsPreventQuickSuggestions": false, + "editor.defaultFormatter": "redhat.java", + }, + "[markdown]": { + // Prettier tends to mangle Markdown, so we'll use the Markdownlint extension instead. + "editor.defaultFormatter": "DavidAnson.vscode-markdownlint", + "editor.unicodeHighlight.ambiguousCharacters": false, + "editor.unicodeHighlight.invisibleCharacters": false, + "diffEditor.ignoreTrimWhitespace": false, + "editor.wordWrap": "on", + "editor.quickSuggestions": { + "comments": "off", + "strings": "off", + "other": "off" + }, + "cSpell.fixSpellingWithRenameProvider": true, + "cSpell.advanced.feature.useReferenceProviderWithRename": true, + "cSpell.advanced.feature.useReferenceProviderRemove": "/^#+\\s/" + }, + "editor.formatOnSaveMode": "file", + "java.configuration.updateBuildConfiguration": "automatic", + "java.server.launchMode": "Standard", + "files.exclude": { + "**/.classpath": true, + "**/.project": true, + "**/.settings": true, + "**/.factorypath": true + } +} \ No newline at end of file diff --git a/PART_1_SHARE_INFO.md b/PART_1_SHARE_INFO.md index 1fdab0b..07aa2d3 100644 --- a/PART_1_SHARE_INFO.md +++ b/PART_1_SHARE_INFO.md @@ -42,12 +42,12 @@ will create a copy on GitHub for your team of our starter repository; your team will use that as the starting point for your work. This lab is unusual in that we will all be on a single large team called -__Everyone__, all making changes to a single shared repository. This will +**Everyone**, all making changes to a single shared repository. This will help illustrate the value of version control systems like `git` in managing this kind of shared resource, and also give us opportunities to see what happens when different people make inconsistent changes to the same files. -So follow the link in the Canvas assignment and join the __Everyone__ team; +So follow the link in the Canvas assignment and join the **Everyone** team; that should take you to the shared repository on GitHub. From there you can get the URL for that repository from the green `Code` button visible on the "home page" for each diff --git a/PART_2_JAVA_INTRODUCTIONS.md b/PART_2_JAVA_INTRODUCTIONS.md index 29219c8..844119a 100644 --- a/PART_2_JAVA_INTRODUCTIONS.md +++ b/PART_2_JAVA_INTRODUCTIONS.md @@ -64,8 +64,7 @@ GitHub account** as this will do two important things: GitHub Student Pack, you should do so before setting up GitKraken._ After you've authenticated with GitHub, GitKraken will ask to setup -your `git` info ([like you did at the start for the command line](#configuring-your-git-e-mail)); -you should enter your name and whatever email you've used for GitHub. +your `git` info; you should enter your name and whatever email you've used for GitHub. Once all the setup is finished, select `File -> Open` and navigate to the directory containing your local clone (`intro-to-git`), and open that up. There's a lot of information @@ -426,9 +425,8 @@ and project repositories in this course. All those checks have to pass before you can merge in your pull request. For this lab we have four checks: - "build": This runs `./gradlew check`, which compiles the code + and runs the JUnit tests. If these succeed you get a green check mark, and you get a red x if anything fails. and runs several checks. If all of these succeed you get a check mark (:white_check_mark:), and you get a red x (:x:) if anything fails. - - It uses a tool called [Checkstyle](https://checkstyle.org/) that - checks that your code follows a set of basic style guides. - It runs the JUnit tests - It confirms that the test coverage is at least 80%. (This should be trivially true as the tests that we've provided should @@ -449,18 +447,13 @@ are. :bangbang: That's one of several reasons you should usually run the tests l you push. If any of the checks fail (give you a red :x:), then you probably want to click on -"Details" by that check to learn more about what might have failed. - -- If the Java `build` fails, it's likely because a test has - failed, either because you didn't structure your - greeting correctly, or you didn't put it in the correct place so that all - greetings are in alphabetical order. You should probably run the tests again - on your computer, where you'll get more information on which test failed and - why. If you're unsure how to proceed _definitely ask for some help!_ -- The other way the Java `build` could fail is if your formatting - doesn't meet the Checkstyle criteria. Run `./gradlew check` - locally and see if the output there helps you understand - why things are failing. +"Details" by that check to learn more about what might have failed. If the +Java `build` fails, it's likely because a test has +failed, either because you didn't structure your +greeting correctly, or you didn't put it in the correct place so that all +greetings are in alphabetical order. You should probably run the tests again +on your computer, where you'll get more information on which test failed and +why. If you're unsure how to proceed _definitely ask for some help!_ #### You might need to merge in changes from `main` @@ -496,7 +489,7 @@ Here, if Chris clicks the "Resolve conflicts" button, GitHub will put Chris in a (web) editor where they can resolve the conflicts. That editor will likely have a section that looks something like: -```java +```diff <<<<<<< chris-greeting builder.append(chrisSaysHello()); ======= @@ -596,10 +589,10 @@ look over the code and make sure the changes look reasonable. Some things to check for: - [ ] Does it look (by eye) that this will print all the greetings in alphabetical - order? (The tests check that for sure, but you should always be thinking about - correctness as well.) + order? (The tests check that for sure, but you should always be thinking about + correctness as well.) - [ ] Do the new methods they're adding have reasonable names that convey useful - info to the reader? + info to the reader? - [ ] Are new method names in camel cases, starting in lowercase (the Java standard for method names)? - [ ] Is the implementation of the new methods reasonable? diff --git a/README.md b/README.md index 61c657c..a5402b5 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,12 @@ > > - [ ] Create a team called "Everyone" > - [ ] Fix the URLs in the badges below so they point to that semester's -> repository instead of the "starter" repo. +> repository instead of the "starter" repo. > - [ ] Make sure we've added every student in the current semester -> to that semester's organization so they'll have permission to -> push to this repo. +> to that semester's organization so they'll have permission to +> push to this repo. > - [ ] [Turn off branch protection](docs/FACULTY_BRANCH_PROTECTION_SETTINGS.md) -> so that students can `push`. +> so that students can `push`. > - [ ] Remove this note and the broken badge above in the fork. > > We should leave these notes in the copy in the "starter" @@ -88,9 +88,9 @@ its more advanced features. - The excellent [Atlassian `git` tutorials](https://www.atlassian.com/git/tutorials/what-is-version-control) - [The "standard" `git` documentation site](https://git-scm.com/documentation), -which also includes links to videos, cheat sheets, and such + which also includes links to videos, cheat sheets, and such - [`git` – the simple guide](http://rogerdudler.github.io/git-guide/), -a single-page app that goes through the major features of `git` + a single-page app that goes through the major features of `git` - [A little on-line "game" for learning how branching works in `git`](https://learngitbranching.js.org/) As circumstances allow, you might also want to at least skim one or two of the diff --git a/build.gradle b/build.gradle index 889cd7c..131762b 100644 --- a/build.gradle +++ b/build.gradle @@ -11,10 +11,6 @@ plugins { // Apply the Jacoco plugin to add suppport for JUnit test coverage reports. id 'jacoco' - - // The checkstyle plugin provides basic Java style checks to ensure we're - // following industry style standards. - id 'checkstyle' } // In this section you declare where to find the dependencies of your project. diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml deleted file mode 100644 index 9fb2a03..0000000 --- a/config/checkstyle/checkstyle.xml +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/Gradle_README.md b/docs/Gradle_README.md index 4e0f69b..6b36a73 100644 --- a/docs/Gradle_README.md +++ b/docs/Gradle_README.md @@ -108,7 +108,7 @@ If you install the [Gradle for Java](https://marketplace.visualstudio.com/items? extensions then you get a "Gradle" view, which is an elephant icon along the left side of the VS Code window. -![](images/Gradle_extension_in_VSCode.png) +![Gradle icon in VS Code](images/Gradle_extension_in_VSCode.png) That will have a "folder" with the name of the repo (`intro-to-git` or similar in this case). That which will contain many other folders @@ -121,8 +121,7 @@ containing specific tasks. Some of particular interest: rebuild. It's also a nice thing to do when you're done working on a project for a while and want to clean up some disk space. - _build -> jar_ will generate a standalone JAR file for your application -- _verification -> check_ will make sure everything builds, Checkstyle - is happy, and the tests all pass +- _verification -> check_ will make sure everything builds and the tests all pass Running these from VS Code is equivalent to running the same tasks from the command like, e.g., `./gradlew run` or `./gradlew check`. Note that on the diff --git a/docs/MERGE_CONFLICTS.md b/docs/MERGE_CONFLICTS.md index 1e242d4..12735d2 100644 --- a/docs/MERGE_CONFLICTS.md +++ b/docs/MERGE_CONFLICTS.md @@ -1,6 +1,6 @@ # Info on merge conflicts -- [What is a merge conflict & why do they matter?](#what-is-a-merge-conflict--why-do-they-matter) +- [What is a merge conflict \& why do they matter?](#what-is-a-merge-conflict--why-do-they-matter) - [Pro-tip: Keep your branch(es) up-to-date](#pro-tip-keep-your-branches-up-to-date) - [How to deal with merge conflicts](#how-to-deal-with-merge-conflicts) - [Make sure you have the latest version of `main` locally](#make-sure-you-have-the-latest-version-of-main-locally) @@ -144,7 +144,7 @@ your feature branch. Go with the first one (probably "Merge", but possibly "Fast-forward"). - On the command line - Run `git checkout my-cool-feature` to check out the - feature branch + feature branch - Then run `git merge main` to merge in the new changes from `main`. - On the command line, `git merge ` will merge the specified branch into whichever branch is currently checked out. diff --git a/user_info/KK_and_Nic.md b/user_info/KK_and_Nic.md index 259f80e..cc2ca31 100644 --- a/user_info/KK_and_Nic.md +++ b/user_info/KK_and_Nic.md @@ -8,14 +8,14 @@ until something interesting came up. ## Kristin Lamberty -* I prefer to be called "KK". -* My pronouns are she/her/hers. -* My GitHub username is `kklamberty`. -* My GitHub "home page" is [github.com/kklamberty](https://github.com/kklamberty/). +- I prefer to be called "KK". +- My pronouns are she/her/hers. +- My GitHub username is `kklamberty`. +- My GitHub "home page" is [github.com/kklamberty](https://github.com/kklamberty/). ## Nic McPhee -* I prefer to be called "Nic". -* My pronouns are he/him/his. -* My GitHub username is `NicMcPhee`. -* My GitHub "home page" is [github.com/NicMcPhee](https://github.com/NicMcPhee/). +- I prefer to be called "Nic". +- My pronouns are he/him/his. +- My GitHub username is `NicMcPhee`. +- My GitHub "home page" is [github.com/NicMcPhee](https://github.com/NicMcPhee/).