dynamic-cli icon indicating copy to clipboard operation
dynamic-cli copied to clipboard

Add MakeFile to ease development process

Open PradyumnaKrishna opened this issue 3 years ago • 11 comments

🚀 Feature

Create a MakeFile to simplify project setup and ease the development process. It requires #161 to complete, so pickup that or wait for it to complete before start working on this.

Resources

  1. https://makefiletutorial.com

Feel free to contact me for help.

PradyumnaKrishna avatar Mar 05 '22 14:03 PradyumnaKrishna

Hi @PradyumnaKrishna! Would you assign me this issue under GSSOC?

shreelakshmijoshi avatar Mar 08 '22 20:03 shreelakshmijoshi

Done @shreelakshmijoshi

PradyumnaKrishna avatar Mar 09 '22 03:03 PradyumnaKrishna

Hello, @PradyumnaKrishna I want work on this issue please assign me this issue under GSSOC...!!

dhruti29 avatar Mar 21 '22 12:03 dhruti29

@dhruti29 , Please go ahead

GouravSardana avatar Mar 21 '22 12:03 GouravSardana

Hi @GouravSardana ! I want to understand a bit more about Make files. What exact dependencies/ file names should we include in the Make file to compile them? Also, in the make file resource provided, it is mentioned

Interpreted languages like Python, Ruby, and Javascript don't require an analogue to Makefiles.

And dynamic-cli has all Python files.

shreelakshmijoshi avatar Mar 27 '22 07:03 shreelakshmijoshi

@PradyumnaKrishna is leading the effort from this side. Can you please explain what we need from our side ?

GouravSardana avatar Mar 27 '22 07:03 GouravSardana

oh okay, I just wanted to know what exact files should I include in the Make file to compile them? Since, only C/C++, Java files need compiling and Python files don't need compiling is mentioned in https://makefiletutorial.com/

shreelakshmijoshi avatar Mar 27 '22 07:03 shreelakshmijoshi

I agree with the point which you mentioned but let’s hear from @PradyumnaKrishna

GouravSardana avatar Mar 27 '22 08:03 GouravSardana

Makefile does lot more than just compiling, currently this repository has lot of commands that can be aggregated at one place.

Let me give you an example

all: setup lint test build

setup:
	@echo SETUP
	pip install -r requirements.txt

lint:
	@echo LINT
	# Linting it using linters like black, pylint etc

test:
	@echo TEST
	pytest

build:
	@echo BUILD
	...

publish:
	@echo PUBLISH
	...
...

These all tasks and other similar tasks will get collected to one place. Currently we have to follow up the procedure to setup the development environment. After implementing Makefile, environment setup and package build will get done in one go, just have to type make.

Note: #161 is work in progress which add poetry as dependency manager, the procedure to setup the development environment requires some changes after that.

PradyumnaKrishna avatar Mar 27 '22 09:03 PradyumnaKrishna

@PradyumnaKrishna, you're right.

shreelakshmijoshi avatar Mar 27 '22 10:03 shreelakshmijoshi

I would like to work on this issue, please assign this issue to me under GSSoC'23.

harshsingh32 avatar May 20 '23 11:05 harshsingh32