Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"name": "Avro Development",

"build": { "dockerfile": "../share/docker/Dockerfile" },

// Use 'settings' to set *default* container specific settings.json values on container create.
// You can edit these settings after create using File > Preferences > Settings > Remote.
"settings": {
},

// Add the IDs of extensions you want installed when the container is created in the array below.
"extensions": [
// Python
"ms-python.python",
"ms-python.vscode-pylance",

// C/C++
"ms-vscode.cpptools",

// C#
"ms-dotnettools.csharp",

// Rust
"vadimcn.vscode-lldb",
"mutantdino.resourcemonitor",
"matklad.rust-analyzer",
"tamasfe.even-better-toml",
"serayuzgur.crates",

// Java
"vscjava.vscode-java-pack",

// Shell script
"timonwong.shellcheck",

// YAML
"redhat.vscode-yaml",

// Git
"eamodio.gitlens"
]
}
11 changes: 11 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Set default behavior to automatically normalize line endings.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need this? Specially all the 'auto', isn't auto the default?
Should we cover the formats we don't care about e.g. doc/pdf/rtf?
I don't remember where we are towards line endings. @RyanSkraba maybe?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was a discussion on this about AVRO-3150 -- some tests were failing due to an overzealous checkstyle check IIRC.

Is there something that fails if this .gitattributes isn't present? I'm not familiar with all the attributes, I admit! What does diff and astextplain do?

I have no objection to enforcing that script files are CRLF/LF no matter where they're checked out!

* text=auto

# Force bash scripts to always use lf line endings so that if a repo is accessed
# in Unix via a file share from Windows, the scripts will work.
*.sh text eol=lf

# Force batch scripts to always use crlf line endings so that if a repo is accessed
# in Unix via a file share from Windows, the scripts will work.
*.cmd text eol=crlf
*.bat text eol=crlf
14 changes: 14 additions & 0 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,20 @@ DOCKER_IMAGE_NAME=avro-build:1.10.1-rc1 ./build.sh docker
DOCKER_RUN_ENTRYPOINT="mvn --version" ./build.sh docker
```

## Developing inside a Container (Visual Studio Code Devcontainer)

Requirement:
- [Visual Studio Code](https://code.visualstudio.com/)
- [Remote Development extension pack](https://aka.ms/vscode-remote/download/extension)
- Docker
- Windows: (Docker Desktop)[https://www.docker.com/products/docker-desktop]
- macOS: (Docker Desktop)[https://www.docker.com/products/docker-desktop]
- Linux: (Docker CE/EE)[https://docs.docker.com/install/#supported-platforms] and (Docker Compose)[https://docs.docker.com/compose/install]

Useful links:
- (Developing inside a Container)[https://code.visualstudio.com/docs/remote/containers]
- (Going further with Dev Containers)[https://microsoft.github.io/code-with-engineering-playbook/developer-experience/going-further/]

## Building

Once the requirements are installed (or from the Docker container),
Expand Down