Factor into server and driver directories #120

Merged
lunny merged 1 commits from ncw/goftp-server:fix-116-dependencies into master 2020-07-07 16:02:40 +00:00
Contributor

The change factors the pure server implementation into the "server"
directory and factors the file driver into "driver/file" and the minio
driver into "driver/minio".

This means that users of this library can import
goftp.io/server/server without having to import the file and minio
drivers which may not be needed.

This also adds a compatibility layer which exports all the types,
functions and variables that were exported at the top level.

This means this change should be 100% backwards compatible.

Fixes #116

The change factors the pure server implementation into the "server" directory and factors the file driver into "driver/file" and the minio driver into "driver/minio". This means that users of this library can import goftp.io/server/server without having to import the file and minio drivers which may not be needed. This also adds a compatibility layer which exports all the types, functions and variables that were exported at the top level. This means this change should be 100% backwards compatible. Fixes #116
Owner

Awsome change!!!

A small nit! Could we use another word for goftp.io/server/server, currently we have two words named server which may cause confusing for user.

Awsome change!!! A small nit! Could we use another word for `goftp.io/server/server`, currently we have two words named `server` which may cause confusing for user.
lunny added the
enhancement
label 2020-07-02 03:08:48 +00:00
Author
Contributor

Awsome change!!!

A small nit! Could we use another word for goftp.io/server/server, currently we have two words named server which may cause confusing for user.

How does core sound? That would give us goftp.io/server/core for the core library we then have goftp.io/server/driver for the drivers and goftp.io/server for backwards compatibility.

> Awsome change!!! > > A small nit! Could we use another word for `goftp.io/server/server`, currently we have two words named `server` which may cause confusing for user. How does `core` sound? That would give us `goftp.io/server/core` for the core library we then have `goftp.io/server/driver` for the drivers and `goftp.io/server` for backwards compatibility.
Owner

@ncw No other word is better.

@ncw No other word is better.
ncw force-pushed fix-116-dependencies from 1f1ff084a7 to d3d11429c5 2020-07-07 15:31:19 +00:00 Compare
Author
Contributor

I've updated the PR now to use core instead of server - looks nice!

I've run the tests and they all pass. Rclone's ftp server tests pass too which is a good indication that the change is 100% backwards compatible.

I tried updating rclone to use goftp.io/server/core and it took 1.5 MB off the binary not having the minio driver linked so I think this is success!

I've updated the PR now to use `core` instead of `server` - looks nice! I've run the tests and they all pass. Rclone's ftp server tests pass too which is a good indication that the change is 100% backwards compatible. I tried updating rclone to use `goftp.io/server/core` and it took 1.5 MB off the binary not having the minio driver linked so I think this is success!
lunny merged commit c28a288338 into master 2020-07-07 16:02:31 +00:00
lunny added this to the 0.4 milestone 2020-07-07 16:04:12 +00:00
Owner

@ncw Thanks. I have merged this PR and released v0.4.0

@ncw Thanks. I have merged this PR and released v0.4.0
ncw deleted branch fix-116-dependencies 2023-02-24 15:48:09 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: goftp/server#120
No description provided.