mirror of
https://github.com/rclone/rclone
synced 2024-12-22 13:03:02 +01:00
build: make rclone build with wasm
Needed to drop - azureblob backend - cache backend - qingstor backend - cachestats command - ncdu command
This commit is contained in:
parent
ac044b1c54
commit
3a14b1d5a9
@ -1,6 +1,6 @@
|
|||||||
// Package azureblob provides an interface to the Microsoft Azure blob object storage system
|
// Package azureblob provides an interface to the Microsoft Azure blob object storage system
|
||||||
|
|
||||||
// +build !plan9,!solaris,go1.13
|
// +build !plan9,!solaris,!js,go1.13
|
||||||
|
|
||||||
package azureblob
|
package azureblob
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9,!solaris,go1.13
|
// +build !plan9,!solaris,!js,go1.13
|
||||||
|
|
||||||
package azureblob
|
package azureblob
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Test AzureBlob filesystem interface
|
// Test AzureBlob filesystem interface
|
||||||
|
|
||||||
// +build !plan9,!solaris,go1.13
|
// +build !plan9,!solaris,!js,go1.13
|
||||||
|
|
||||||
package azureblob
|
package azureblob
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Build for azureblob for unsupported platforms to stop go complaining
|
// Build for azureblob for unsupported platforms to stop go complaining
|
||||||
// about "no buildable Go source files "
|
// about "no buildable Go source files "
|
||||||
|
|
||||||
// +build plan9 solaris !go1.13
|
// +build plan9 solaris js !go1.13
|
||||||
|
|
||||||
package azureblob
|
package azureblob
|
||||||
|
2
backend/cache/cache.go
vendored
2
backend/cache/cache.go
vendored
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package cache
|
package cache
|
||||||
|
|
||||||
|
2
backend/cache/cache_internal_test.go
vendored
2
backend/cache/cache_internal_test.go
vendored
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
// +build !race
|
// +build !race
|
||||||
|
|
||||||
package cache_test
|
package cache_test
|
||||||
|
2
backend/cache/cache_test.go
vendored
2
backend/cache/cache_test.go
vendored
@ -1,6 +1,6 @@
|
|||||||
// Test Cache filesystem interface
|
// Test Cache filesystem interface
|
||||||
|
|
||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
// +build !race
|
// +build !race
|
||||||
|
|
||||||
package cache_test
|
package cache_test
|
||||||
|
2
backend/cache/cache_unsupported.go
vendored
2
backend/cache/cache_unsupported.go
vendored
@ -1,6 +1,6 @@
|
|||||||
// Build for cache for unsupported platforms to stop go complaining
|
// Build for cache for unsupported platforms to stop go complaining
|
||||||
// about "no buildable Go source files "
|
// about "no buildable Go source files "
|
||||||
|
|
||||||
// +build plan9
|
// +build plan9 js
|
||||||
|
|
||||||
package cache
|
package cache
|
||||||
|
2
backend/cache/cache_upload_test.go
vendored
2
backend/cache/cache_upload_test.go
vendored
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
// +build !race
|
// +build !race
|
||||||
|
|
||||||
package cache_test
|
package cache_test
|
||||||
|
2
backend/cache/directory.go
vendored
2
backend/cache/directory.go
vendored
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package cache
|
package cache
|
||||||
|
|
||||||
|
2
backend/cache/handle.go
vendored
2
backend/cache/handle.go
vendored
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package cache
|
package cache
|
||||||
|
|
||||||
|
2
backend/cache/object.go
vendored
2
backend/cache/object.go
vendored
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package cache
|
package cache
|
||||||
|
|
||||||
|
2
backend/cache/plex.go
vendored
2
backend/cache/plex.go
vendored
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package cache
|
package cache
|
||||||
|
|
||||||
|
2
backend/cache/storage_memory.go
vendored
2
backend/cache/storage_memory.go
vendored
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package cache
|
package cache
|
||||||
|
|
||||||
|
2
backend/cache/storage_persistent.go
vendored
2
backend/cache/storage_persistent.go
vendored
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package cache
|
package cache
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// +build windows plan9
|
// +build windows plan9 js
|
||||||
|
|
||||||
package local
|
package local
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// +build !windows,!plan9
|
// +build !windows,!plan9,!js
|
||||||
|
|
||||||
package local
|
package local
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Package qingstor provides an interface to QingStor object storage
|
// Package qingstor provides an interface to QingStor object storage
|
||||||
// Home: https://www.qingcloud.com/
|
// Home: https://www.qingcloud.com/
|
||||||
|
|
||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package qingstor
|
package qingstor
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Test QingStor filesystem interface
|
// Test QingStor filesystem interface
|
||||||
|
|
||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package qingstor
|
package qingstor
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Build for unsupported platforms to stop go complaining
|
// Build for unsupported platforms to stop go complaining
|
||||||
// about "no buildable Go source files "
|
// about "no buildable Go source files "
|
||||||
|
|
||||||
// +build plan9
|
// +build plan9 js
|
||||||
|
|
||||||
package qingstor
|
package qingstor
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Upload object to QingStor
|
// Upload object to QingStor
|
||||||
|
|
||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package qingstor
|
package qingstor
|
||||||
|
|
||||||
|
@ -66,6 +66,7 @@ var osarches = []string{
|
|||||||
"plan9/386",
|
"plan9/386",
|
||||||
"plan9/amd64",
|
"plan9/amd64",
|
||||||
"solaris/amd64",
|
"solaris/amd64",
|
||||||
|
"js/wasm",
|
||||||
}
|
}
|
||||||
|
|
||||||
// Special environment flags for a given arch
|
// Special environment flags for a given arch
|
||||||
@ -320,14 +321,16 @@ func compileArch(version, goos, goarch, dir string) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if !*compileOnly {
|
if !*compileOnly {
|
||||||
artifacts := []string{buildZip(dir)}
|
if goos != "js" {
|
||||||
// build a .deb and .rpm if appropriate
|
artifacts := []string{buildZip(dir)}
|
||||||
if goos == "linux" {
|
// build a .deb and .rpm if appropriate
|
||||||
artifacts = append(artifacts, buildDebAndRpm(dir, version, goarch)...)
|
if goos == "linux" {
|
||||||
}
|
artifacts = append(artifacts, buildDebAndRpm(dir, version, goarch)...)
|
||||||
if *copyAs != "" {
|
}
|
||||||
for _, artifact := range artifacts {
|
if *copyAs != "" {
|
||||||
run("ln", artifact, strings.Replace(artifact, "-"+version, "-"+*copyAs, 1))
|
for _, artifact := range artifacts {
|
||||||
|
run("ln", artifact, strings.Replace(artifact, "-"+version, "-"+*copyAs, 1))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// tidy up
|
// tidy up
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// +build !plan9
|
// +build !plan9,!js
|
||||||
|
|
||||||
package cachestats
|
package cachestats
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Build for cache for unsupported platforms to stop go complaining
|
// Build for cache for unsupported platforms to stop go complaining
|
||||||
// about "no buildable Go source files "
|
// about "no buildable Go source files "
|
||||||
|
|
||||||
// +build plan9
|
// +build plan9 js
|
||||||
|
|
||||||
package cachestats
|
package cachestats
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Package ncdu implements a text based user interface for exploring a remote
|
// Package ncdu implements a text based user interface for exploring a remote
|
||||||
|
|
||||||
//+build !plan9,!solaris
|
//+build !plan9,!solaris,!js
|
||||||
|
|
||||||
package ncdu
|
package ncdu
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Build for ncdu for unsupported platforms to stop go complaining
|
// Build for ncdu for unsupported platforms to stop go complaining
|
||||||
// about "no buildable Go source files "
|
// about "no buildable Go source files "
|
||||||
|
|
||||||
// +build plan9 solaris
|
// +build plan9 solaris js
|
||||||
|
|
||||||
package ncdu
|
package ncdu
|
||||||
|
@ -21,8 +21,8 @@ import (
|
|||||||
"github.com/rclone/rclone/fs/fserrors"
|
"github.com/rclone/rclone/fs/fserrors"
|
||||||
"github.com/rclone/rclone/fs/operations"
|
"github.com/rclone/rclone/fs/operations"
|
||||||
"github.com/rclone/rclone/fs/walk"
|
"github.com/rclone/rclone/fs/walk"
|
||||||
|
"github.com/rclone/rclone/lib/terminal"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"golang.org/x/crypto/ssh/terminal"
|
|
||||||
"golang.org/x/net/http2"
|
"golang.org/x/net/http2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"golang.org/x/crypto/ssh/terminal"
|
"github.com/rclone/rclone/lib/terminal"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ReadPassword reads a password without echoing it to the terminal.
|
// ReadPassword reads a password without echoing it to the terminal.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Log the panic under unix to the log file
|
// Log the panic under unix to the log file
|
||||||
|
|
||||||
// +build !windows,!solaris,!plan9
|
// +build !windows,!solaris,!plan9,!js
|
||||||
|
|
||||||
package log
|
package log
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Package mmap implements a large block memory allocator using
|
// Package mmap implements a large block memory allocator using
|
||||||
// anonymous memory maps.
|
// anonymous memory maps.
|
||||||
|
|
||||||
// +build !plan9,!windows
|
// +build !plan9,!windows,!js
|
||||||
|
|
||||||
package mmap
|
package mmap
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Fallback Alloc and Free for unsupported OSes
|
// Fallback Alloc and Free for unsupported OSes
|
||||||
|
|
||||||
// +build plan9
|
// +build plan9 js
|
||||||
|
|
||||||
package mmap
|
package mmap
|
||||||
|
|
||||||
|
@ -9,7 +9,6 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
colorable "github.com/mattn/go-colorable"
|
colorable "github.com/mattn/go-colorable"
|
||||||
"golang.org/x/crypto/ssh/terminal"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// VT100 codes
|
// VT100 codes
|
||||||
@ -72,7 +71,7 @@ var (
|
|||||||
func Start() {
|
func Start() {
|
||||||
once.Do(func() {
|
once.Do(func() {
|
||||||
f := os.Stdout
|
f := os.Stdout
|
||||||
if !terminal.IsTerminal(int(f.Fd())) {
|
if !IsTerminal(int(f.Fd())) {
|
||||||
// If stdout not a tty then remove escape codes
|
// If stdout not a tty then remove escape codes
|
||||||
Out = colorable.NewNonColorable(f)
|
Out = colorable.NewNonColorable(f)
|
||||||
} else if runtime.GOOS == "windows" && os.Getenv("TERM") != "" {
|
} else if runtime.GOOS == "windows" && os.Getenv("TERM") != "" {
|
||||||
@ -89,16 +88,6 @@ func WriteString(s string) {
|
|||||||
Write([]byte(s))
|
Write([]byte(s))
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetSize reads the dimensions of the current terminal or returns a
|
|
||||||
// sensible default
|
|
||||||
func GetSize() (w, h int) {
|
|
||||||
w, h, err := terminal.GetSize(int(os.Stdout.Fd()))
|
|
||||||
if err != nil {
|
|
||||||
w, h = 80, 25
|
|
||||||
}
|
|
||||||
return w, h
|
|
||||||
}
|
|
||||||
|
|
||||||
// Out is an io.Writer which can be used to write to the terminal
|
// Out is an io.Writer which can be used to write to the terminal
|
||||||
// eg for use with fmt.Fprintf(terminal.Out, "terminal fun: %d\n", n)
|
// eg for use with fmt.Fprintf(terminal.Out, "terminal fun: %d\n", n)
|
||||||
var Out io.Writer
|
var Out io.Writer
|
||||||
|
31
lib/terminal/terminal_normal.go
Normal file
31
lib/terminal/terminal_normal.go
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//+build !js
|
||||||
|
|
||||||
|
package terminal
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"golang.org/x/crypto/ssh/terminal"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GetSize reads the dimensions of the current terminal or returns a
|
||||||
|
// sensible default
|
||||||
|
func GetSize() (w, h int) {
|
||||||
|
w, h, err := terminal.GetSize(int(os.Stdout.Fd()))
|
||||||
|
if err != nil {
|
||||||
|
w, h = 80, 25
|
||||||
|
}
|
||||||
|
return w, h
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsTerminal returns whether the fd passed in is a terminal or not
|
||||||
|
func IsTerminal(fd int) bool {
|
||||||
|
return terminal.IsTerminal(fd)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadPassword reads a line of input from a terminal without local echo. This
|
||||||
|
// is commonly used for inputting passwords and other sensitive data. The slice
|
||||||
|
// returned does not include the \n.
|
||||||
|
func ReadPassword(fd int) ([]byte, error) {
|
||||||
|
return terminal.ReadPassword(fd)
|
||||||
|
}
|
23
lib/terminal/terminal_unsupported.go
Normal file
23
lib/terminal/terminal_unsupported.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
//+build js
|
||||||
|
|
||||||
|
package terminal
|
||||||
|
|
||||||
|
import "errors"
|
||||||
|
|
||||||
|
// GetSize reads the dimensions of the current terminal or returns a
|
||||||
|
// sensible default
|
||||||
|
func GetSize() (w, h int) {
|
||||||
|
return 80, 25
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsTerminal returns whether the fd passed in is a terminal or not
|
||||||
|
func IsTerminal(fd int) bool {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadPassword reads a line of input from a terminal without local echo. This
|
||||||
|
// is commonly used for inputting passwords and other sensitive data. The slice
|
||||||
|
// returned does not include the \n.
|
||||||
|
func ReadPassword(fd int) ([]byte, error) {
|
||||||
|
return nil, errors.New("can't read password")
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user