Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
rdmueller committed Nov 22, 2021
0 parents commit d6284a3
Show file tree
Hide file tree
Showing 130 changed files with 3,311 additions and 0 deletions.
1 change: 1 addition & 0 deletions .asciidoctorconfig.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
:icons: font
10 changes: 10 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
trace.info text merge=mps
generated text merge=mps
dependencies text merge=mps
*.mpl text merge=mps
*.msd text merge=mps
*.devkit text merge=mps
*.mpr text merge=mps
*.mpsr text merge=mps
*.model text merge=mps
*.mps text merge=mps
37 changes: 37 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
.DS_Store

.gradle
/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Cache of project
.gradletasknamecache

# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
# gradle/wrapper/gradle-wrapper.properties

*.pyc
.classpath
.project
.settings

# go assertion binary
testify
.vscode
/src/site/content/generated/
/.idea/

# Ignore Cargo stuff (Rust)
debug/
target/
Cargo.lock
**/*.rs.bk

# Ignore IntelliJ IDEA stuff
.idea
*.iml
9 changes: 9 additions & 0 deletions .gitpod
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
image:
file: .gitpod.dockerfile
ports:
- port: 8050
onOpen: open-preview
- port: 8888
onOpen: open-browser
tasks:
- command: "echo 'have fun!'"
56 changes: 56 additions & 0 deletions .gitpod.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
FROM gitpod/workspace-full:latest

ENV PATH=/usr/lib/dart/bin:$PATH

USER root
# Install custom tools, runtime, etc.
RUN apt-get update && apt-get install -y \
tcl tk expect asciidoctor \
&& apt-get clean && rm -rf /var/cache/apt/* && rm -rf /var/lib/apt/lists/* && rm -rf /tmp/*

# install dart
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
apt-get update && \
apt-get -y install --no-install-recommends apt-utils && \
apt-get -y install --no-install-recommends pkg-config build-essential libssl-dev dart libkrb5-dev gcc make curl && \
apt-get clean && \
apt-get -y autoremove && \
apt-get -y clean && \
rm -rf /var/lib/apt/lists/*;

# Set up JAVA_CMD (required by Leiningen)
ENV JAVA_CMD /home/gitpod/.sdkman/candidates/java/current/bin/java
ENV PATH $JAVA_CMD:$PATH

# Install Leiningen for Clojure
RUN wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
RUN chmod +x lein
RUN mv lein /usr/local/bin

USER gitpod
# Apply user-specific settings
#ENV ...

# Install Rust + WASM
ENV PATH="/home/vscode/.cargo/bin:${PATH}"
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
&& cargo install wasm-pack cargo-watch

RUN npm install ts-node elm -g

SHELL ["/bin/bash", "-c"]

RUN bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh \
&& sdk install java 11.0.9-amzn \
&& sdk install gradle \
&& sdk install groovy \
&& sdk install kotlin \
&& sdk install asciidoctorj \
&& export PATH="/home/gitpod/.sdkman/candidates/java/current/bin:$PATH" \
"
SHELL ["/bin/sh", "-c"]

# Give back control
USER root

13 changes: 13 additions & 0 deletions .gitpod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
image:
file: .gitpod.dockerfile
ports:
- port: 8050
onOpen: open-preview
- port: 8888
onOpen: open-browser
tasks:
- command: source /home/gitpod/.sdkman/bin/sdkman-init.sh
vscode:
extensions:
- [email protected]:zRxka5i+6/G9r7KC3xmyXQ==
- [email protected]:9qifXNFuJwslDFbQfIgkCA==
26 changes: 26 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@

All Code is MIT Licence

Images (Clipart and other website elements) are (c) presentermedia.com and licenced by [email protected] .

MIT License

Copyright (c) 2020 the authors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
69 changes: 69 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
= aoc-2020

WARNING: Spoiler Alert! If you want to solve the aoc problems on your own, do not read any further.
This repository contains solutions for the problems in several languages.

NOTE: Result can be found on https://aoc-2020.netlify.com/[aoc-2020.netlify.com] powered by netlify.

In this repository, we will collect the code for the solutions of https://adventofcode.com[adventofcode] for the 2020 event.

If you want to join the discussions, here is the invitation for our https://join.slack.com/t/aoc-2020/shared_invite/zt-jpb3ukqo-t5amJownVL82CoRrrPNjEg[slack channel].

image::https://img.shields.io/badge/Slack-Invitation-orange.svg?style=for-the-badge[link=https://join.slack.com/t/aoc-2020/shared_invite/zt-jpb3ukqo-t5amJownVL82CoRrrPNjEg]

The slack channel itself is https://aoc-2020.slack.com/[aoc-2020]

The id of the https://adventofcode.com/2020/leaderboard/private/view/117454[shared leaderboard] is `117454-7d5aa225` .

== The Goal of this repository

... is to

- have a shared code base. It will be interesting to see how the same problem is solved in different languages with different approaches
- have a development environment in which all examples run out of the box

=== How do we ensure that all examples run out of the box?

The best solution will be to use https://gitpod.io. Just prefix the URL with `gitpod.io#` or click the button:

image:https://gitpod.io/button/open-in-gitpod.svg[link="https://gitpod.io#https://github.com/docToolchain/aoc-2020", title="Open in Gitpod"]


A webbased IDE will open with the repository already cloned in a docker container.

It would be awesome if we manage to get all solutions up and running in this container!

The standard https://gitpod.io[gitpod.io] docker container supports JavaScript, TypeScript, Java, Groovy, Ruby, Python, Go, C, C++, Rust, Perl out of the box.

At least Make, Gradle and Maven are available as build tools.

## Repository structure

The structure we start with is the following:

```
.
├── README.md
├── day01
├── day02
│ ├── groovy
│ | └── rdmueller
│ | ├── solution.groovy
│ | └── description.adoc
│ └── [language]
│ └── [githubhandle]
│ ├── solution.[extension]
│ └── description.adoc
├── day03
├── day04
├── ...
```

== Documentation

As you can see in the above repository structure, each folder contains a `description.adoc`.
It would be great if everybody could explain their solution with a short description.

== Questions?

=> see you on Slack: https://aoc-2020.slack.com/[aoc-2020]
Loading

0 comments on commit d6284a3

Please sign in to comment.