drone/types/jetbrains.go

82 lines
3.1 KiB
Go

// Copyright 2023 Harness, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package types
import "github.com/harness/gitness/types/enum"
type JetBrainsIDEDownloadURLTemplates struct {
Version string
Amd64Sha string
Arm64Sha string
Amd64 string
Arm64 string
}
var JetBrainsIDEDownloadURLTemplateMap = map[enum.IDEType]JetBrainsIDEDownloadURLTemplates{
enum.IDETypeIntelliJ: {
// list of versions: https://www.jetbrains.com/idea/download/other.html
Version: "2024.3.1.1",
Amd64: "https://download.jetbrains.com/idea/ideaIU-%s.tar.gz",
Arm64: "https://download.jetbrains.com/idea/ideaIU-%s-aarch64.tar.gz",
},
enum.IDETypeGoland: {
// list of versions: https://www.jetbrains.com/go/download/other.html
Version: "2024.3.1",
Amd64: "https://download.jetbrains.com/go/goland-%s.tar.gz",
Arm64: "https://download.jetbrains.com/go/goland-%s-aarch64.tar.gz",
},
enum.IDETypePyCharm: {
// list of versions: https://www.jetbrains.com/pycharm/download/other.html
Version: "2024.3.1.1",
Amd64: "https://download.jetbrains.com/python/pycharm-professional-%s.tar.gz",
Arm64: "https://download.jetbrains.com/python/pycharm-professional-%s-aarch64.tar.gz",
},
enum.IDETypeWebStorm: {
// list of versions: https://www.jetbrains.com/webstorm/download/other.html
Version: "2024.3.1.1",
Amd64: "https://download.jetbrains.com/webstorm/WebStorm-%s.tar.gz",
Arm64: "https://download.jetbrains.com/webstorm/WebStorm-%s-aarch64.tar.gz",
},
enum.IDETypeCLion: {
// list of versions: https://www.jetbrains.com/clion/download/other.html
Version: "2024.3.1.1",
Amd64: "https://download.jetbrains.com/cpp/CLion-%s.tar.gz",
Arm64: "https://download.jetbrains.com/cpp/CLion-%s-aarch64.tar.gz",
},
enum.IDETypePHPStorm: {
// list of versions: https://www.jetbrains.com/phpstorm/download/other.html
Version: "2024.3.1.1",
Amd64: "https://download.jetbrains.com/webide/PhpStorm-%s.tar.gz",
Arm64: "https://download.jetbrains.com/webide/PhpStorm-%s-aarch64.tar.gz",
},
enum.IDETypeRubyMine: {
// list of versions: https://www.jetbrains.com/ruby/download/other.html
Version: "2024.3.1.1",
Amd64: "https://download.jetbrains.com/ruby/RubyMine-%s.tar.gz",
Arm64: "https://download.jetbrains.com/ruby/RubyMine-%s-aarch64.tar.gz",
},
enum.IDETypeRider: {
// list of versions: https://www.jetbrains.com/ruby/download/other.html
Version: "2024.3.1.1",
Amd64: "https://download.jetbrains.com/rider/JetBrains.Rider-%s.tar.gz",
Arm64: "https://download.jetbrains.com/rider/JetBrains.Rider-%s-aarch64.tar.gz",
},
}
type JetBrainsSpecs struct {
IDEType enum.IDEType
DownloadURls JetBrainsIDEDownloadURLTemplates
}